在java中声明标识符有一些规则,标识符名称以_,$或字母开头,我们可以简单地将字符和货币符号声明为标识符,但不能声明下划线符号。 为什么?
我尝试声明 int $ =24;它没有调用任何错误,但是当我尝试声明下划线时,编译器调用了一个错误,而声明标识符的规则明确指出标识符可以以下划线或货币符号开头。 int $=24;(无错误) int _ =24;(错误)
从 Java 9 开始,不能使用下划线
_
作为标识符,因为它是保留关键字。它旨在用作未命名的 lambda 参数。 JEP 302 中解释了其背后的原因。
使用
_
作为标识符在 Java 7 及更早版本中有效。在 Java 8 中,它的使用导致了编译器警告。从 Java 9 开始,这是一个错误。但是,您仍然可以使用下划线作为较长标识符的一部分,例如 _abc
甚至 __
(尽管不推荐)。