如何为您的 Java 代码选择正确的 @NotNull 注解
为了增强代码可读性并防止 NullPointerException,许多开发人员寻求利用工具例如IDE静态分析和FindBugs。然而,等效的 @NotNull/@NonNull 注释的激增可能令人望而生畏。本文深入研究了可用选项,以帮助您选择最合适的选项。
等效注释
以下列表提供了来自各种包的等效 @NotNull 注释:
标准选择
在 JSR 305 不活动的情况下,@NotNull 注释的选择涉及一种实用的方法。
语法
出于风格原因,请考虑避免与特定 IDE、框架或工具包相关的注释。这消除了以下情况选项:
javax.annotation或者 javax.validation.constraints?
比较 javax.validation.constraints 和 javax.annotation(需要额外的依赖项),显示出 javax.annotation 的轻微偏好,因为它的
实现
相似之处: 所有 @NonNull 注释都有一个简单的实现,除了:
差异:运行时注释(javax.annotation、javax.validation.constraints、 org.checkerframework.checker.nullness.qual) 提供额外的运行时检查,但影响小于预期。
可用上下文
注释在其可用上下文中有所不同:
结论
根据讨论的标准,@NotNull 注释的实用选择是 javax.annotation.Nonnull。它的简洁性、运行时注释以及与 JLS 上下文的兼容性为可读性、静态分析和运行时检查提供了平衡的解决方案。
以上是我应该为我的 Java 代码选择哪种'@NotNull”注释?的详细内容。更多信息请关注PHP中文网其他相关文章!