很长一段时间,Java 的关键字一直都是 50 个。2017年8月7日发布的 Java 9 中引入了一个新的关键字 _ (下划线,underscore),这是第 51 个关键字,一个神秘的符号,Java 9 语言规范中并没有给出任何解释。
直到 2020年2月20日发布的 Java 14 语言规范中,才在 3.9 节“Keywords”中增加了一句话:
The keyword _ (underscore) is reserved for possible future use in parameter declarations.
关键字 _ (下划线)是为将来可能在参数声明中使用而保留的。
然后就没有然后了,直到2021年8月9日发布的 Java 17 语言规范中,也还是这么一句话,只是独立为了一个段落。
这个“将来”等的有点儿久。
在 Java 8 中声明变量名 _
会出现编译时错误:
String _ = "hello";
'_' should not be used as an identifier, since it is a reserved keyword from source level 1.8 on
'_' 不应用作标识符,因为它是源级别 1.8 以上保留的关键字