adi*_*moh 1 java null annotations non-nullable lombok
龙目岛的@NonNull VS javax.annotation.Nonnull
哪个更适合用于方法参数以及何时使用?
这里的答案模糊地比较了所有注释,但没有推断出哪一个最好。我只是想知道两者中哪个更好。
一个简单的谷歌搜索来查找文档会产生两者之间非常明显的区别。
javax.annotation.Nonnull是 JSR-305 的一部分,它似乎已经死了。即使情况并非如此,所述注释也仅用于静态代码分析目的,例如,您的 IDE 警告您正在某个不可接受的地方传递空值。
lombok.NonNull是一个非常不同的故事。首先,所述注释不用于验证目的或静态代码分析目的。Lombok 使用此注释在实例变量或参数不应该为空时触发 NPE。
Lombok 作为注解后处理器将在预编译过程中有效地获取此注解,并将自动生成所需的代码以有效处理这些情况(通过操作 AST)。
您可以在此处阅读更多相关信息:Lombok - NonNull。
似乎您对javax.annotation相关功能和 Lombok 的功能的熟悉程度都不是最好的,因此我建议您仔细阅读什么是什么。
| 归档时间: |
|
| 查看次数: |
10785 次 |
| 最近记录: |