在Oracle JDK 11和IntelliJ IDEa的最新(截至现在)可用版本(IntelliJ IDEA 2018.2.4)上进行了测试。项目语言级别为Java 11。
代码
public static void main(String[] args) {
System.out.println(List.of("AAA", "BBB", "CCC")
.stream()
.map((@NonNull var s) -> s.toLowerCase())
.collect(Collectors.toList()));
}
输出
[aaa, bbb, ccc]
一切都可以编译并正常运行,但是编辑器显示编译时错误:
JEP-323(Lambda参数的本地变量语法)是否尚不受支持,或者它是一个错误?
答案 0 :(得分:2)
如果出现此错误,则很可能已安装了Lombok插件。这是Lombok插件检查错误。
禁用以下检查将解决此问题:
文件|设置|编辑器可能的错误|龙目岛注释检查
Lombok-intellij-plugin项目中的问题已创建:
https://github.com/mplushnikov/lombok-intellij-plugin/issues/531
答案 1 :(得分:2)