此问题在此处已有答案:
Which @NotNull Java annotation should I use?(25个答案)
2天前关闭。
在测试时检测到NPE之后,我终于想看看@Nullable
注解。
在互联网上搜索一下之后,似乎每个IDE或环境都有一个@Nullable
注解:
我已经看到它们似乎都遵循JSR-305,它描述了这个注解。但是JSR是休眠的,另请参见:是的
所以我有两个问题:
- 是否有其他通用注解可用?
- 如果否,IDE是否仅识别其自己的注解。
- 例如,是否可以在非Spring项目中使用Spring注解,Eclipse和IntelliJ是否可以正确处理注解。
1条答案
按热度按时间shyt4zoc1#
由于我碰巧使用SonarLint/SonarQube,下面的代码独立于IDE工作。
对于Maven项目,可以添加Findbugs提供的JSR-305注解。
然后将所需的方法用
@CheckForNull
进行注解,根据@Nullable
-Javadoc静态分析工具应该忽略@Nullable
的注解。如果随后使用方法返回值时没有进行空值检查,SonarLint将引发
Null pointers should not be dereferenced (java:S2259)
问题。Eclipse默认情况下会忽略这一点,但正如Petr Janeček指出的,它可以配置为使用注解。
我还没有在其他IDE上测试过这个。