什么是 最好的‘ NonNull’注释?
意义上的“最好”
以下是当今世界的样子——任何进一步的见解都值得赞赏:
javax.validation.constraints.NotNull
(医生)
+ javax 包因此似乎是未来的证明
- 部分 JEE 没有 JSE。在 JSE 需要 输入额外的法律条文。
- 静态分析工具不支持(仅运行时验证)
(医生)edu.umd.cs.findbugs.annotations.NonNull
- 外部库,而不是 javax
软件包
- 不赞成自从发现虫子版本3。 X
+ 用于静态分析(通过 findbug 和声纳)
(医生)javax.annotation.Nonnull
+ 用于静态分析(在 findbug 中)
- JSR-305是休眠状态/死亡状态/未知状态,如 联邦调查局邮件列表所示。作家比尔 · 皮尤(Bill Pugh) ,即使被直接问到,也已经好几年没有对这个州发表评论了... ..
(医生,有趣的 展示)org.eclipse.jdt.annotation_2.0.0
+ 用于静态分析(但是在 eclipse 中不是在 findbug 中)
- Eclipse 的专有版本(没有尝试单独使用它们)
(医生)org.jetbrains.annotations.NotNull
+ 用于静态分析(在 intelliJ 中不是在 findbug 中)
- IntelliJ 专有的(但也可以作为 jar 公开获得)
lombok.NonNull
(医生)
+ 用于控制代码生成
- 专有注释
android.support.annotation.NonNull
(医生)
+ 安卓演播室的静态分析
- Android 专用注释
org.checkerframework.checker.nullness.qual.NonNull
(医生)
+ JSR308实现,这是 Java8的一部分(它确实引入了在代码的不同部分编写注释的能力,但是没有引入新的注释)
+ 用于静态代码(不是查找错误) 还有运行时分析
- 但是,外部 lib 似乎是由 java 人员设计的 认可
目前我倾向于 检查框架,但我期待着其他意见..。
[免责声明]我知道这个问题已经在这里提出,但是没有得到回答(或者答案是错误的/不完整的/过时的) [/免责声明]