In meinem System wird die Linie System.out.println('\u0000');ein kleines Quadrat gedruckt, was bedeutet, dass es sich nicht um ein druckbares Zeichen handelt - wie erwartet.
Es ist wichtig zu beachten, dass dies '\u0000'nicht der gleiche Wert ist wie null
Edd
Was ist null character? Einige Antworten auf diese Fragen beziehen sich auf den Standardwert als Nullzeichen.
Quazi Irfan
3
@ Óscar López, was ist mit dem Zeichen '\ 0'? Sie sind nicht gleich ?
Tarik
5
@ Tarik ja, sie sind die gleichen.
Óscar López
2
@iamcreasy was du sagst ist richtig. Mein Hinweis ist nur, dass 'Nullzeichen' ein Zeichen ist. Es ist nicht nullin Java ausgedrückt, dh \u0000 == nullwürde zurückkehrenfalse
Edd
29
'\ u0000' ist der Standardwert für ein Zeichen. Das Dezimaläquivalent ist 0.
Wenn Sie eine char-Variable deklarieren, ohne sie zu initialisieren, wird ihr standardmäßig '\ u0000' zugewiesen.
siehe diesen Code
publicclassTest{char c;publicstaticvoid main(String args[])throwsException{Test t =newTest();char c1 ='\u0000';System.out.println(t.c);System.out.println(c1);System.out.println(t.c == c1);}}
Dieser Code wird beim letzten Druck als wahr ausgegeben.
aber ich würde es nicht sagen, weil es sich von verschiedenen Plattformen oder in Zukunft unterscheiden könnte. Was mich wirklich interessiert, ist, dass ich diesen Standardwert niemals verwenden werde. Bevor Sie also ein Zeichen verwenden, überprüfen Sie einfach, ob es \ u0000 ist oder nicht, und verwenden Sie es dann, um Missverständnisse in Programmen zu vermeiden. So einfach ist das.
Die Frage hat bereits eine akzeptierte Antwort sowie mehrere andere Antworten. Damit Ihre Antwort nützlich ist, sollte sie dem Problem nützliche neue Informationen oder neue Erkenntnisse hinzufügen. Nur Informationen in anderen Antworten zu wiederholen, ist nicht hilfreich.
Es gibt auch ein spezielles Null-Literal, das als Wert für jeden Referenztyp verwendet werden kann. null kann jeder Variablen zugewiesen werden, mit Ausnahme von Variablen primitiver Typen. Es gibt wenig, was Sie mit einem Nullwert tun können, außer auf seine Anwesenheit zu testen. Daher wird in Programmen häufig null als Markierung verwendet, um anzuzeigen, dass ein Objekt nicht verfügbar ist.
Aus diesem Grund geben die folgenden Aussagen einen Fehler aus und nicht den anderen: -
char a = null; // Typkonflikt: Konvertiert nicht von null nach char.
@ JohannesH.- das sieht für mich nach einer Antwort aus. Dies als "keine Antwort" zu kennzeichnen, ist IMO nicht korrekt.
Krease
-1
Der Standardwert für charist \ u0000
publicclassDefaultValues{char varChar;publicstaticvoid main(String...l){DefaultValues ob =newDefaultValues();System.out.println(ob.varChar=='\u0000');}}
char == 0
Antworten:
Der Standardwert eines
char
Attributs ist in der Tat'\u0000'
(das Nullzeichen), wie in der Java-Sprachspezifikation, Abschnitt §4.12.5 Anfangswerte von Variablen angegeben .In meinem System wird die Linie
System.out.println('\u0000');
ein kleines Quadrat gedruckt, was bedeutet, dass es sich nicht um ein druckbares Zeichen handelt - wie erwartet.quelle
'\u0000'
nicht der gleiche Wert ist wienull
null character
? Einige Antworten auf diese Fragen beziehen sich auf den Standardwert als Nullzeichen.null
in Java ausgedrückt, dh\u0000 == null
würde zurückkehrenfalse
'\ u0000' ist der Standardwert für ein Zeichen. Das Dezimaläquivalent ist 0.
Wenn Sie eine char-Variable deklarieren, ohne sie zu initialisieren, wird ihr standardmäßig '\ u0000' zugewiesen.
siehe diesen Code
Dieser Code wird beim letzten Druck als wahr ausgegeben.
quelle
Der Standardwert von Character ist Character.MIN_VALUE, der intern als dargestellt wird
MIN_VALUE = '\u0000'
Außerdem können Sie überprüfen, ob das Zeichenfeld den Standardwert als enthält
quelle
'\u0000'
steht fürnull
. Wenn Sie also eine nicht initialisierte Zeichenvariable drucken, erhalten Sie nichts.quelle
Es ist '\ u0000'. Sehen Sie hier für weitere Informationen .
quelle
Das Standardzeichen ist das Zeichen mit dem int-Wert 0 (Null).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
quelle
sein verlockendes Sprichwort als Leerzeichen oder Ganzzahl 0 gemäß dem folgenden Beweis
aber ich würde es nicht sagen, weil es sich von verschiedenen Plattformen oder in Zukunft unterscheiden könnte. Was mich wirklich interessiert, ist, dass ich diesen Standardwert niemals verwenden werde. Bevor Sie also ein Zeichen verwenden, überprüfen Sie einfach, ob es \ u0000 ist oder nicht, und verwenden Sie es dann, um Missverständnisse in Programmen zu vermeiden. So einfach ist das.
quelle
Der Standardwert eines char-Datentyps ist '\ u0000' (oder 0) und ein Maximalwert von '\ uffff' (oder 65.535 einschließlich).
Sie können die Informationen hier sehen .
quelle
Beachten Sie, dass es einen deutlichen Unterschied zwischen Null und Null gibt. In http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html (siehe oben) wird folgende Aussage getroffen:
Es gibt auch ein spezielles Null-Literal, das als Wert für jeden Referenztyp verwendet werden kann. null kann jeder Variablen zugewiesen werden, mit Ausnahme von Variablen primitiver Typen. Es gibt wenig, was Sie mit einem Nullwert tun können, außer auf seine Anwesenheit zu testen. Daher wird in Programmen häufig null als Markierung verwendet, um anzuzeigen, dass ein Objekt nicht verfügbar ist.
Aus diesem Grund geben die folgenden Aussagen einen Fehler aus und nicht den anderen: -
char a = null; // Typkonflikt: Konvertiert nicht von null nach char.
char b = 0; // Gültige Syntax.
quelle
\u0000
ist der Standardwert für den Zeichentyp in JavaWie bereits erwähnt, können Sie den Vergleich verwenden, um den Wert einer nicht initialisierten Variablen zu überprüfen.
quelle
Ich denke es ist
'\u00000'
oder nur''
eher als'\u0000'
(Die erste hat 5 Nullen, während die letzte vier Nullen hat.)quelle
Der Standardwert für
char
ist \ u0000Dies wird true zurückgeben
quelle
Der Standardwert von char ist null, was laut Unicode-Diagramm '\ u0000' ist . Lassen Sie uns sehen, wie es beim Ausdrucken funktioniert.
Hinweis: Die Ausgabe ist leer.
quelle
Der Standardwert eines primitiven Zeichentyps ist '\ u0000' (Nullzeichen), wie in der Java-Sprachspezifikation angegeben.
Die Verknüpfung für 'u0000' lautet '\ 0'. Die Null kann also entweder durch 'u0000' oder '\ 0' dargestellt werden.
Das folgende Java-Programm überprüft Nulldarstellungen mithilfe des Instanzzeichenfelds 'c'.
quelle