spring 独立于IDE @可为空的注解[重复]

c7rzv4ha  于 2022-11-28  发布在  Spring
关注(0)|答案(1)|浏览(124)

此问题在此处已有答案

Which @NotNull Java annotation should I use?(25个答案)
2天前关闭。
在测试时检测到NPE之后,我终于想看看@Nullable注解。
在互联网上搜索一下之后,似乎每个IDE或环境都有一个@Nullable注解:

我已经看到它们似乎都遵循JSR-305,它描述了这个注解。但是JSR是休眠的,另请参见:是的
所以我有两个问题:

  • 是否有其他通用注解可用?
  • 如果否,IDE是否仅识别其自己的注解。
  • 例如,是否可以在非Spring项目中使用Spring注解,Eclipse和IntelliJ是否可以正确处理注解。
shyt4zoc

shyt4zoc1#

由于我碰巧使用SonarLint/SonarQube,下面的代码独立于IDE工作。
对于Maven项目,可以添加Findbugs提供的JSR-305注解。

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>3.0.2</version>
    <scope>compile</scope>
</dependency

然后将所需的方法用@CheckForNull进行注解,根据@Nullable -Javadoc静态分析工具应该忽略@Nullable的注解。
如果随后使用方法返回值时没有进行空值检查,SonarLint将引发Null pointers should not be dereferenced (java:S2259)问题。
Eclipse默认情况下会忽略这一点,但正如Petr Janeček指出的,它可以配置为使用注解。

我还没有在其他IDE上测试过这个。

相关问题