2009-02-06 9 views
6

Ist null ein Schlüsselwort in Java?Ist null ein Java-Schlüsselwort?

+0

Warum ist diese Frage -1? – Mystic

+4

wahrscheinlich, weil es weniger Zeit gebraucht hätte, um die Antwort zu googlen, als es zu fragen.Das zweite Google-Ergebnis hat die Antwort in der Zusammenfassung, Sie müssten nicht einmal auf den Link klicken. – DevinB

+0

Nein, es in Java.You wörtlichen ist, was null ist [hier] [1] [1]: http://stackoverflow.com/questions/2707322/what-is-null-in-java/7258515 # 7258515 –

Antwort

6

Nein. Es ist kein Schlüsselwort.

46

Nicht gemäß der Java Language Specification list of keywords. Auf der anderen Seite, hat dies nicht kompilieren:

int null = 10; 

Die rules for identifiers angeben, dass:

Ein Bezeichner ist eine unbegrenzte Länge Folge von Java Buchstaben und Java Ziffern, wobei die erste Das muss ein Java-Buchstabe sein. Ein Bezeichner kann die gleiche Schreibweise (Unicode-Zeichen Sequenz) nicht als Schlüsselwort (§3.9), boolean Literal (§3.10.3) oder Null-Literal (§3.10.7) haben.

Ich bin mir nicht sicher, was der Vorteil, es nicht ein Schlüsselwort zu machen, ist, um ehrlich zu sein.

+0

Lol, diese Antwort impliziert, dass es Implementierungen von Java gibt, die null als Schlüsselwort akzeptieren. –

+0

GameCat, die Art, wie ich es lese, sagt es klar, die Spezifikation ist nicht null ein Schlüsselwort. – tehvan

11

Kein keyword - der null literal.

ein identifier (oops, nein, es ist nicht)

+1

Es ist auch kein Bezeichner, nach http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 –

+0

Ja, das habe ich schon irrtümlich erkannt und behoben ... –

1

wahr und falsch sind auch Literale. Java Trivia: const und goto sind Schlüsselwörter.

6

null ist ein Literal, im gleichen Sinne, dass falsche, und '\ n' Literalen sind. Es ist technisch gesehen kein "Schlüsselwort", sondern eine Zeichenfolge, die vom Compiler speziell behandelt wird, wenn der Compiler sie in einer Java-Quelldatei findet.

Also, nein, Sie können eine Variable "null" nicht nennen. Der lexikalische Analysator wird entscheiden, dass es kein Identifikator ist.

6

null ist ein Literal ähnlich wie true und false in Java. Dies sind keine Schlüsselwörter, da dies die Werte von etwas sind. Da null der Wert der Referenzvariablen ist, ist true der Wert einer booleschen Variablen.

0

Nr null ist kein Schlüsselwort in Java ..

0

seine stellt einen besonderen Wert, aber es ist kein Schlüsselwort in Java und es bedeutet nicht, dass wir es als eine Kennung seiner eingeschränkten verwenden können, um zu sein wird als Bezeichner verwendet und das ist offensichtlich, weil wir keinen speziellen Wert als Bezeichner haben können, weil der Compiler dieses Wort (null) als besonderen Wert und nicht als Bezeichner behandelt.