我写了一个实现类似接口的类.我使用@NotNull注释来抑制方法参数中的waring.但它仍然显示警告.IDE自动导入此包com.sun.istack.internal.NotNull为@NotNull.为什么这是在讨价还价?不使用此注释如何删除此警告?
我正在使用带有java 8 SE的Inteij Ultimate.
这是我的代码片段.
谢谢.
解决方法:
显然,你应该使用
public int compareTo(@NonNull Node node) {
代替
public int compareTo(@NotNull Node node) {
编译器可以确定代码路径可能接收空值的情况,而无需调试NullPointerException.
从here.起
对于这些注释,您需要安装Checker Framework.或者你可以尝试另一个答案所说的.