JEP 323,其中在java-11中为@Notnull
昨天我启动了Java 11,我下载了JDK,用于PC(windows)的环境变量, 创建了一个新项目,并将JDK和JRE设置为指向Java11 我甚至通过cmd中的JEP 323,其中在java-11中为@Notnull,java,intellij-idea,java-11,Java,Intellij Idea,Java 11,昨天我启动了Java 11,我下载了JDK,用于PC(windows)的环境变量, 创建了一个新项目,并将JDK和JRE设置为指向Java11 我甚至通过cmd中的echo%JAVA\u HOME%再次检查了我的Env变量,这很好 一切似乎都正常,但我的编译器无法识别@Notnull var,有人能帮忙吗 我正在尝试执行的基本程序: list.stream() .map((@Notnull var s) -> s.toLow
echo%JAVA\u 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
甚至改变了项目结构中的语言水平
Ctrl+Shift+Alt+S
到X-实验功能
,但没有任何帮助
尝试检查import java.lang.*
并发现@Notnull
不是
那里也有
JEP 323提供了在lambda参数上使用注释的语法
没有名为
Notnull
、或Notnull
或NonNull
的类。在JEP 323的文本中使用“@Nonnull
”只是如何使用理论注释的一个例子 您是指@NotNull
(camecased?)您得到了什么错误消息?此注释定义在哪里?您需要为它添加一个JAR文件吗?你有它的import
语句吗?它必须从某处导入,在java.lang
包中没有Notnull
。如您所见,没有名为Notnull
、或Notnull
或NonNull
的类。在JEP323的文本中使用“@Nonnull”只是如何使用理论注释的一个例子。那篇文章只是展示了在lamdba参数上使用注释的新语法示例。这与实际的注释无关(尽管在现有/可用的注释上使用它们会很好)。