有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

intellij idea JEP 323在java11中的@Notnull是什么

昨天我启动了Java 11,我下载了JDK,它是PC(windows)环境变量的一部分, 创建了一个新项目,并将JDK和JRE设置为指向Java11

我甚至在cmd中通过echo %JAVA_HOME%再次检查了我的Env变量,这很好

一切似乎都没问题,但我的编译器没有识别@Notnull var,有人能帮忙吗

我正在尝试执行的基本程序:

                 list.stream()
                .map((@Notnull var s) -> s.toLowerCase())
                .collect(Collectors.toList());

错误是:

Error:(13, 24) java: cannot find symbol
symbol:   class Notnull
location: class Main

Have even changed the language level in Project structure by Ctrl+Shift+Alt+S to X-Experimental features , but nothing helps.

Tried checking import java.lang.*; and found that @Notnull is not there too.


共 (1) 个答案

  1. # 1 楼答案

    JEP 323提供了在lambda参数上使用注释的语法

    没有名为Notnull、或NotNull、或NonNull的类。在JEP 323的文本中使用“@Nonnull”只是一个如何使用理论注释的例子