为什么@Nonnull注释在运行时进行检查?
2022-08-31 17:00:06
我有一个具有以下签名的函数
public static String myFunction(@Nonnull String param)
当我用param作为null调用它时,我得到以下异常:
Caused by: java.lang.IllegalArgumentException: Argument for @Nonnull parameter 'param' of com/MyClass.myFunction must not be null
at com.MyClass.$$$reportNull$$$0(MyClass.java)
javax.annotation.Nonnull 不应该在运行时被检查。
谁实际上抛出了异常,为什么?
附言:我从 IntelliJ IDEA 2016.3 与 Oracle JDK 1.8.0_102 以调试模式运行 Tomcat 服务器