Questo potrebbe sembrare un gioco da ragazzi a prima vista. Probabilmente lo è, ma alcune cose mi fanno sentire che potrebbe mancare qualcosa. Il primo the Java documentation for Character.isWhitespace sembra escluderlo. La definizione di cosa è e cosa non è consentito come spazio bianco sembra molto definitiva ('if e only if') e la prima riga dice non uno spazio senza interruzioni.Java considera uno spazio "normale" come spazio bianco ai fini di Character.isWhitespace?
Ho sempre considerato uno "spazio" ordinario - quella cosa che si ottiene quando si preme una barra spaziatrice - come non-breaking space.
Quindi, dove si inserisce nell'elenco? L'elenco è considerato come definitivo nella risposta con il punteggio più alto a this question - sto semplicemente leggendo male? Inoltre, il primo commentatore alla risposta in alto in this question sembra avere i suoi dubbi (in un contesto diverso). Tuttavia, quando costruisco un semplice bit di codice da testare, indica che uno spazio normale è un'istanza di spazio bianco, come ci si aspetterebbe.
import static java.lang.Character.isWhitespace;
public class WhitespaceCheck {
public static void main(String[] args) {
Character test = ' ';
if (Character.isWhitespace(test)) {
System.out.println("Is whitespace!");
} else {
System.out.println("Is not whitespace!");
}
}
}
Quindi, sto leggendo il primo elemento della lista a torto, è da qualche altra parte nella lista, o è la lista stessa semplicemente sbagliato?
Penso che la documentazione dichiari che è inclusa, perché 'SPACE_SEPARATOR' è' U + 0020' se non mi sbaglio –
Ho usato spazi non interrotti in Microsoft Word per impedire che si verifichi un'interruzione di riga tra le parole che volevo davvero essere tenuto insieme. Sono stati inseriti usando Ctrl + Maiusc + Barra spaziatrice. Non dovrebbero essere confusi con il personaggio che viene solitamente prodotto premendo solo la barra spaziatrice. –
@a_horse_with_no_name Quasi lì! Come dice l'altra risposta, 'U + 0020' è incluso nella categoria di Unicode coperta da SPACE_SEPARATOR. – Reg