javax.annotation.Nonnull是否会影响运行时行为?

javax.annotation.Nonnull是否会影响运行时行为?,java,java-8,Java,Java 8,我想知道用@Nonnull注释参数是否会影响运行时行为,或者它是否严格用于静态分析。这似乎只是在编译时检查的 发件人: @NonNull–编译器可以确定代码路径可能接收null值的情况,而无需调试NullPointerException 有 状态:休眠 而关于该国的地位问题仍然没有答案。所以它没有“官方”应用程序,只是一些工具(比如Findbugs)可以根据它执行静态分析。如果我读得正确,它指的是org.checkerframework.checker.nullness.qual.NonNull

我想知道用
@Nonnull
注释参数是否会影响运行时行为,或者它是否严格用于静态分析。

这似乎只是在编译时检查的

发件人:

@NonNull–编译器可以确定代码路径可能接收null值的情况,而无需调试NullPointerException

状态:休眠


而关于该国的地位问题仍然没有答案。所以它没有“官方”应用程序,只是一些工具(比如Findbugs)可以根据它执行静态分析。

如果我读得正确,它指的是
org.checkerframework.checker.nullness.qual.NonNull
,而不是
javax.annotation.NonNull
,不是吗?甚至很难确定。Oracle的文档很可怜。对,这一段给出了基于Checkers框架的类型注释示例。它们还有一个表达相同意图的注释的综合列表:。事实上,所有这些都是用于静态分析的。顺便说一句:在完全检查过的程序中,不会发生违反空契约的情况,因此在运行时没有什么需要检查的……注释通常不会影响代码的行为。