vous pouvez vérifier si votre caractère a la valeur par défaut par:char == 0
ACV
Réponses:
105
La valeur par défaut d'un charattribut est en effet '\u0000'(le caractère nul) comme indiqué dans la spécification du langage Java, section §4.12.5 Valeurs initiales des variables .
Dans mon système, la ligne System.out.println('\u0000');imprime un petit carré, ce qui signifie que ce n'est pas un caractère imprimable - comme prévu.
Il est important de noter que ce '\u0000'n'est pas la même valeur que null
Edd
C'est quoi null character? Certaines réponses à ces questions font référence à la valeur par défaut comme un caractère nul.
Quazi Irfan
3
@ Óscar López, qu'en est-il du caractère «\ 0»? Ils ne sont pas les mêmes ?
Tarik le
5
@Tarik oui, ce sont les mêmes.
Óscar López
3
@iamcreasy ce que vous dites est correct. Ma note est juste que «caractère nul» est un caractère. Il n'est pas nullen termes de java -à- dire \u0000 == nullretourneraientfalse
Edd
30
'\ u0000' est la valeur par défaut d'un caractère. Son équivalent décimal est 0.
Lorsque vous déclarez une variable char sans l'initialiser, '\ u0000' lui sera assigné par défaut.
voir ce code
publicclassTest{
char c;
publicstaticvoidmain(String args[])throws Exception {
Test t = new Test();
char c1 = '\u0000';
System.out.println(t.c);
System.out.println(c1);
System.out.println(t.c == c1);
}
}
Ce code imprimera vrai pour la dernière impression.
mais je ne le dirais pas parce que cela pourrait différer de différentes plates-formes ou à l'avenir. Ce qui m'importe vraiment, c'est que je n'utiliserai jamais cette valeur par défaut, donc avant d'utiliser un caractère, vérifiez simplement qu'il est \ u0000 ou non, puis utilisez-le pour éviter les idées fausses dans les programmes. C'est aussi simple que ça.
La question a déjà une réponse acceptée ainsi que plusieurs autres réponses. Pour que votre réponse soit utile, elle doit ajouter de nouvelles informations utiles ou de nouvelles perspectives au problème. Répéter simplement les informations dans d'autres réponses n'est pas utile.
Il existe également un littéral nul spécial qui peut être utilisé comme valeur pour tout type de référence. null peut être assigné à n'importe quelle variable, à l'exception des variables de types primitifs. Vous ne pouvez pas faire grand-chose avec une valeur nulle au-delà de tester sa présence. Par conséquent, null est souvent utilisé dans les programmes comme marqueur pour indiquer qu'un objet n'est pas disponible.
C'est pourquoi les déclarations suivantes vous donneront une erreur et pas l'autre: -
char a = nul; // Incompatibilité de type: impossible de convertir de null en caractère.
char == 0
Réponses:
La valeur par défaut d'un
char
attribut est en effet'\u0000'
(le caractère nul) comme indiqué dans la spécification du langage Java, section §4.12.5 Valeurs initiales des variables .Dans mon système, la ligne
System.out.println('\u0000');
imprime un petit carré, ce qui signifie que ce n'est pas un caractère imprimable - comme prévu.la source
'\u0000'
n'est pas la même valeur quenull
null character
? Certaines réponses à ces questions font référence à la valeur par défaut comme un caractère nul.null
en termes de java -à- dire\u0000 == null
retourneraientfalse
'\ u0000' est la valeur par défaut d'un caractère. Son équivalent décimal est 0.
Lorsque vous déclarez une variable char sans l'initialiser, '\ u0000' lui sera assigné par défaut.
voir ce code
public class Test { char c; public static void main(String args[]) throws Exception { Test t = new Test(); char c1 = '\u0000'; System.out.println(t.c); System.out.println(c1); System.out.println(t.c == c1); } }
Ce code imprimera vrai pour la dernière impression.
la source
La valeur par défaut de Character est Character.MIN_VALUE qui est représenté en interne par
MIN_VALUE = '\u0000'
En outre, vous pouvez vérifier si le champ de caractère contient la valeur par défaut comme
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE); if (DEFAULT_CHAR.compareTo((Character) value) == 0) { }
la source
'\u0000'
signifienull
. Donc, si vous imprimez une variable char non initialisée, vous n'obtiendrez rien.la source
C'est '\ u0000'. Voir ici pour plus d'informations .
la source
Le caractère par défaut est le caractère avec une valeur int de 0 (zéro).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
la source
c'est tentant de dire comme espace blanc ou entier 0 selon la preuve ci-dessous
char c1 = '\u0000'; System.out.println("*"+c1+"*"); System.out.println((int)c1);
mais je ne le dirais pas parce que cela pourrait différer de différentes plates-formes ou à l'avenir. Ce qui m'importe vraiment, c'est que je n'utiliserai jamais cette valeur par défaut, donc avant d'utiliser un caractère, vérifiez simplement qu'il est \ u0000 ou non, puis utilisez-le pour éviter les idées fausses dans les programmes. C'est aussi simple que ça.
la source
La valeur par défaut d'un type de données char est '\ u0000' (ou 0) et une valeur maximale de '\ uffff' (ou 65 535 inclus).
Vous pouvez voir les informations ici .
la source
Notez qu'il existe une différence distincte entre null et zéro. Dans http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (référencé ci-dessus), la déclaration est faite: -
Il existe également un littéral nul spécial qui peut être utilisé comme valeur pour tout type de référence. null peut être assigné à n'importe quelle variable, à l'exception des variables de types primitifs. Vous ne pouvez pas faire grand-chose avec une valeur nulle au-delà de tester sa présence. Par conséquent, null est souvent utilisé dans les programmes comme marqueur pour indiquer qu'un objet n'est pas disponible.
C'est pourquoi les déclarations suivantes vous donneront une erreur et pas l'autre: -
char a = nul; // Incompatibilité de type: impossible de convertir de null en caractère.
char b = 0; // Syntaxe valide.
la source
\u0000
est la valeur par défaut du type char en JavaComme d'autres l'ont mentionné, vous pouvez utiliser la comparaison pour vérifier la valeur d'une variable non initialisée.
char ch; if(ch==0) System.out.println("Default value is the null character");
la source
Je pense que c'est
'\u00000'
ou juste''
plutôt que'\u0000'
(Le premier a 5 zéros tandis que le dernier a quatre zéros.)la source
La valeur par défaut de
char
est \ u0000public class DefaultValues { char varChar; public static void main(String...l) { DefaultValues ob =new DefaultValues(); System.out.println(ob.varChar=='\u0000'); } }
Cela reviendra vrai
la source
La valeur par défaut de char est null qui est «\ u0000» selon le graphique Unicode . Voyons comment cela fonctionne lors de l'impression.
public class Test_Class { char c; void printAll() { System.out.println("c = " + c); } public static void main(String[] args) { Test_Class f = new Test_Class(); f.printAll(); } }
Remarque: la sortie est vide.
la source
La valeur par défaut d'un type primitif char est '\ u0000' (caractère nul) comme indiqué dans la spécification du langage Java.
Le raccourci pour 'u0000' est '\ 0', donc la valeur null peut être représentée soit par 'u0000' ou '\ 0'.
Le programme Java ci-dessous valide les représentations nulles à l'aide du champ de caractères d'instance «c».
public class DefaultValueForchar { char c; public static void main(String[] args) { char c0 = '\0'; char cu0000 = '\u0000'; DefaultValueForchar obj = new DefaultValueForchar(); System.out.println(obj.c); System.out.println(c0); System.out.println(cu0000); System.out.println(c0==cu0000); System.out.println(obj.c==c0); System.out.println(obj.c==cu0000); } }
la source