[英]Sonarqube not analyzing super class equals and potentially throwing a false positive for NPE
这是一个例子:
public class A{
public boolean equals(Object a){
if(a == null)
return false;
// Some Implementation
}
}
public class B extends A {
public boolean equals(Object obj){
if(this == obj)
return true;
if(!super.equals(obj)) // null check for obj is already there in super.equals
return false;
if(getClass() != obj.getClass())
return false;
// Some Implementation
}
}
观察到的问题的规则是:可能引发“ NullPointerException”。 “ obj”在此处为空。 我的问题是,处理此类情况的最佳方法是什么? 分析不是总能在super.equals(obj)
识别出空检查吗?
您的注释表明这两个类位于单独的文件中。 因此,这个问题没有得到解决。 SonarJava中没有跨文件分析功能。
最好的方法是将其标记为“误报”,然后继续进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.