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
toX-Experimental features
, but nothing helps.Tried checking
import java.lang.*;
and found that@Notnull
is not there too.
# 1 楼答案
JEP 323提供了在lambda参数上使用注释的语法
没有名为
Notnull
、或NotNull
、或NonNull
的类。在JEP 323的文本中使用“@Nonnull
”只是一个如何使用理论注释的例子