Является ли null ключевым словом Java? - PullRequest
10 голосов
/ 06 февраля 2009

Является ли null ключевым словом в Java?

Ответы [ 9 ]

47 голосов
/ 06 февраля 2009

Не соответствует списку ключевых слов Java Language Specification . С другой стороны, это не компилируется:

int null = 10;

Правила для идентификаторов указывают, что:

Идентификатор неограниченной длины последовательность букв Java и Java цифры, первая из которых должна быть Java письмо Идентификатор не может иметь то же самое написание (символ Unicode sequence) в качестве ключевого слова (§3.9), логическое значение литерал (§3.10.3), или нулевой литерал (§3.10.7).

Если честно, я не уверен, какая польза от того, что это не ключевое слово.

11 голосов
/ 06 февраля 2009
8 голосов
/ 15 ноября 2012

null - это литерал, аналогичный true и false в Java. Это не ключевые слова, потому что это ценности чего-то. Поскольку null является значением ссылочной переменной, true является значением логической переменной.

7 голосов
/ 06 февраля 2009

Нет. Это не ключевое слово.

6 голосов
/ 07 февраля 2009

null является литералом в том же смысле, что false , 10 и '\ n' являются литералами. Технически, это не «ключевое слово», но это символьная строка, которая обрабатывается компилятором специально, если компилятор встречает его в исходном файле java.

Итак, нет, вы не можете назвать переменную "null". Лексический анализатор решит, что это не идентификатор.

3 голосов
/ 06 февраля 2009

Нет. См. Полный список: Ключевые слова на языке Java

1 голос
/ 07 февраля 2009

true и false также являются литералами. Java мелочи: const и goto являются ключевыми словами.

0 голосов
/ 22 октября 2017

Это специальное значение, но это не ключевое слово в Java, и это не значит, что мы можем использовать его как идентификатор. Использование в качестве идентификатора ограничено, и это очевидно, поскольку мы не можем иметь специальное значение в качестве идентификатора, поскольку компилятор будет обрабатывать это слово (null) как специальное значение, а не как идентификатор.

0 голосов
/ 11 декабря 2013

Нет. null не является ключевым словом в Java.

...