IntelliJ IDEa 2018.2 使用 JDK 11 将 var lambda 参数突出显示为错误

IntelliJ IDEa 2018.2 highlights var lambda parameter as error using JDK 11

在 Oracle JDK11 和最新(截至目前)可用版本的 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 参数的局部变量语法)还不受支持还是存在错误?

如果出现此错误,很可能是安装了 Lombok 插件。这是一个 Lombok 插件检查错误。

禁用以下检查将解决问题:

文件 |设置 |编辑|可能的错误 | Lombok注解检查

也可以隐式禁止检查。


Lombok-intellij-plugin 项目中的问题已创建:

https://github.com/mplushnikov/lombok-intellij-plugin/issues/531

您应该关闭 Lombok 注释检查,直到他们解决问题。