char c = '\u0000';
Wenn ich c drucke, wird im Befehlszeilenfenster 'a' angezeigt.
Was ist der Standardwert eines Felds vom Typ char?
Jemand sagte, '\ u0000' bedeutet im Unicode null; ist das richtig?
char c = '\u0000';
Wenn ich c drucke, wird im Befehlszeilenfenster 'a' angezeigt.
Was ist der Standardwert eines Felds vom Typ char?
Jemand sagte, '\ u0000' bedeutet im Unicode null; ist das richtig?
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.
'\u0000'
nicht der gleiche Wert ist wie null
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
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);
}
}
Dieser Code wird beim letzten Druck als wahr ausgegeben.
Der Standardwert von Character ist Character.MIN_VALUE, der intern als dargestellt wirdMIN_VALUE = '\u0000'
Außerdem können Sie überprüfen, ob das Zeichenfeld den Standardwert als enthält
Character DEFAULT_CHAR = new Character(Character.MIN_VALUE);
if (DEFAULT_CHAR.compareTo((Character) value) == 0)
{
}
'\u0000'
steht für null
. Wenn Sie also eine nicht initialisierte Zeichenvariable drucken, erhalten Sie nichts.
Es ist '\ u0000'. Sehen Sie hier für weitere Informationen .
Das Standardzeichen ist das Zeichen mit dem int-Wert 0 (Null).
char NULLCHAR = (char) 0;
char NULLCHAR = '\ 0';
sein verlockendes Sprichwort als Leerzeichen oder Ganzzahl 0 gemäß dem folgenden Beweis
char c1 = '\u0000';
System.out.println("*"+c1+"*");
System.out.println((int)c1);
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.
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 .
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.
\u0000
ist der Standardwert für den Zeichentyp in Java
Wie bereits erwähnt, können Sie den Vergleich verwenden, um den Wert einer nicht initialisierten Variablen zu überprüfen.
char ch;
if(ch==0)
System.out.println("Default value is the null character");
Der Standardwert für char
ist \ u0000
public class DefaultValues {
char varChar;
public static void main(String...l)
{
DefaultValues ob =new DefaultValues();
System.out.println(ob.varChar=='\u0000');
}
}
Dies wird true zurückgeben
Der Standardwert von char ist null, was laut Unicode-Diagramm '\ u0000' ist . Lassen Sie uns sehen, wie es beim Ausdrucken funktioniert.
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();
} }
Hinweis: Die Ausgabe ist leer.
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'.
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);
}
}
char == 0