_(下划线)是保留关键字

我刚刚s在以下lambda表达式中替换为_:

s -> Integer.parseInt(s)

Eclipse编译器说:

‘_’不应用作标识符,因为它是源级别1.8以后的保留关键字。

我没有在JLS§3.9词法结构/关键字中找到任何解释。

回答:

看的地方是JLS§15.27.1。Lambda参数

如果lambda参数具有名称_(即单个下划线字符),则是编译时错误。

不建议在任何上下文中使用变量名_。Java编程语言的未来版本可能将此名称保留为关键字和/或赋予其特殊的语义。

因此,Eclipse消息具有误导性,特别是在两种情况下都使用相同的消息,即为lambda参数生成错误或为任何其他_标识符生成警告时。

以上是 _(下划线)是保留关键字 的全部内容, 来源链接: utcz.com/qa/402418.html

回到顶部