【发布时间】:2018-07-10 14:43:15
【问题描述】:
我从 solarQube = " 收到一种以下错误 可能会抛出 NullPointerException,因为 'a' 在这里可以为空"。下面是错误的简单代码示例。
班级:
class A {
int a1;
int a2;
public A () {
}
public int getA1() {
return a1;
}
public int getA2() {
return a2;
}
}
然后我有一个使用上面的类作为参数的方法:
public boolean testMethod(A a) {
if(a != null && a.getA1() != 1 || a.getA2() != 2) {
return true;
}
return false;
}
我收到了 SonarQube 突出显示的 a.getA2 != 2 错误。我只是无法理解这些陈述的问题。 SonarQube 描述的错误描述并没有让我更清楚。我该如何解决它,任何人都可以向我解释为什么它是一个错误?
【问题讨论】:
-
您当前正在尝试访问两个字段
getA1和getA2,而不是调用方法getA1()和getA2()。这是故意的吗?因为这不会编译。 -
对不起,我的错。我忘了括号;)
标签: java if-statement nullpointerexception sonarqube