9
votes

Comment puis-je comparer un personnage à vérifier s'il est null?

J'ai essayé ci-dessous, mais Eclipse jette une erreur pour cela.

while((s.charAt(j)== null)


3 commentaires

Un Char est une primitive. NULL est réservé pour des références non signées.


Est s string? Si oui, s.charat retournera type primitif char , pas objet caractère donc il ne peut pas être null. Les valeurs par défaut de Char Array sont '\ u0000' ou plus simple '\ 0' . Vous pouvez même utiliser s.chardat (j) == 0


Essayez-vous de vérifier la fin de la chaîne comme dans C?


5 Réponses :


12
votes

Vérifiez que la chaîne s n'est pas null avant de faire des chèques de caractères. Les caractères renvoyés par chaîne # Charat sont des types primitif et ne seront jamais null : xxx

si Vous essayez de traiter des caractères de String un à la fois, vous pouvez utiliser: xxx

(contrairement au C C , NULL La vérification des terminalisateurs n'est pas effectuée en Java.)


0 commentaires

-2
votes

Si s est une chaîne et n'est pas null, vous devez alors tenter de comparer "espace" avec char. Vous pensez que "l'espace" n'est pas un caractère et un espace est juste null , mais la vérité est que cet espace est un caractère. Par conséquent, au lieu de null , utilisez (qui est un espace) pour comparer à caractère.


1 commentaires

En outre, la question est de 2,5 ans, je trouve cela fort peu probable qu'ils recherchent un espace.



8
votes

Corde correcte de la vérification Char est en fait décrit ici .

Il étage:

changez-le à: si (position [i] [j] == 0) Chaque Char peut être comparé à un int . La valeur par défaut est '\ u0000' i.e. 0 pour un char élément de tableau. Et c'est exactement ce que vous vouliez dire par une cellule vide, je suppose.


0 commentaires

10
votes

La valeur par défaut sur les primitives de Char est 0, comme valeur ASCII. Vous pouvez vérifier gratuitement que cela est null. Par exemple: xxx


1 commentaires

Char ne peut pas être nul car il n'est pas un type de référence. C'est une primitive.



0
votes

Vous pouvez utiliser le caractère null ( '\ 0' ): xxx


0 commentaires