Den Unterschied zwischen null und '\ u000' in Java verstehen
Ich in einem Buch gelesen (Thinking in Java von Bruce Eckel, 4. Auflage, Seite 47), dass null
gleich '\u000'
. Und dann wurde ich gefragt, was genau macht '\u000'
wirklich bedeuten.
Gemäß meinem Verständnis null-war nichts-oder Abwesenheit von etwas. Und '\u000'
kommt in Widerspruch zu dieser definition.
Kann jemand diese Frage klären zu null
und '\u000'
?
Kommentar zu dem Problem
was war das Buch?
vermutlich war es sth wie
char null = '\u000';
ja, Hachi.Das Buch ist Thinking in Java von Bruce Eckel.
char '\u0000' (null) auf Seite 47 der 4. Auflage.
Bitte klären Sie Ihre Frage, indem Sie ihn Bearbeiten, anstatt durch die Bereitstellung zusätzlicher Informationen in den Kommentaren.
InformationsquelleAutor der Frage ashwinsakthi | 2012-08-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sprachspezifikation ist, wo null definiert ist, und es sagt
und
Eher ein Runder klingende definition, aber der Wert von
null
ist die null-Verweis selbst - nur ein weiterer Zeiger. Der Wert der null-Verweis ist nicht wirklich relevant und wird vermutlich bis zu der Implementierung, aber null oder einen anderen Wert, der nicht verwechselt werden mit einem anderen Objekt-Adresse ist wahrscheinlich.Verwirrung verursacht werden kann hier, weil es einen Charakter-Wert genannt null-Zeichen mit Wert
\u0000
. Dies ist der Standardwert für den Typ char.InformationsquelleAutor der Antwort waldyr.ar
\u000
wäre die unicode-Darstellung eines Zeichens mit ASCII-code 0, aber hat nichts zu tun mitnull
als von Java.InformationsquelleAutor der Antwort Ridcully
'\u0000'
Dezimalzahl 00
Char äquivalent ist NUL.
Vom Charakter in Javadoc: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Character.html
Dies ist die unicode-Wert, der bei CHAR ist äquivalent zu NULL, dh es wird das NULL-ZEICHEN, anstatt das literal NULL.
InformationsquelleAutor der Antwort RossC
null
ist ein literal, und Sie können finden Sie in der Spezifikation die sagtin der Praxis können Sie einfach behaupten, dass es "lediglich ein spezielles literal, das kann einen beliebigen Referenz-Typ".
als @assylias gesagt, was man Lesen konnte, war sicherlich nicht aus java 🙂
InformationsquelleAutor der Antwort SiB