Is null a Java keyword?

2019-01-24 08:51发布

问题:

Is null is a keyword in Java?

回答1:

No.It is not a keyword.



回答2:

Not according to the Java Language Specification list of keywords. On the other hand, this doesn't compile:

int null = 10;

The rules for identifiers specify that:

An identifier is an unlimited-length sequence of Java letters and Java digits, the first of which must be a Java letter. An identifier cannot have the same spelling (Unicode character sequence) as a keyword (§3.9), boolean literal (§3.10.3), or the null literal (§3.10.7).

I'm not sure what the benefit of making it not-a-keyword is, to be honest.



回答3:

Not a keyword - the null literal.

an identifier (oops, no it isn't)



回答4:

null is a literal similar to true and false in Java. These are not keywords because these are the values of something. As null is the value of a reference variable, true is the value of a boolean variable.



回答5:

null is a literal, in the same sense that false, 10, and '\n' are literals. It's not a "keyword", technically, but it is a character string that is treated specially by the compiler if the compiler encounters it in a java source file.

So, no, you cannot name a variable "null". The lexical analyzer will decide that it is not an identifier.



回答6:

No. See this for complete list: Java Language Keywords



回答7:

true and false are also literals. Java trivia: const and goto are keywords.



回答8:

It represents a special value but it's not a keyword in Java, and it doesn't mean that we can use it as an identifier. It's restricted to be used as an identifier and that is obvious because we cannot have a special value as an identifier because the compiler will treat that word (null) as special value, not as identifier.



回答9:

No. null is not a keyword in Java.