我有这段非常基本的代码,Eclipse 给了我“潜在的空指针访问”警告/错误。
public class PotentialNull {
public void test(final String nullableString) {
boolean isNotNull = nullableString != null;
if (nullableString != null) {
// No problem
System.out.print(nullableString.hashCode());
}
if (isNotNull) {
// Potential null pointer access: The variable nullable may be null at this location
System.out.print(nullableString.hashCode());
}
}
}
正如您在示例中看到的,编译器知道在第一个 if 语句中,nullableString
不能为 null。然而,在第二个它没有,我真的不会认为这会太难弄清楚。
有人可以确认这不是特定于我的系统/设置吗?
我知道,我可以抑制警告等,但我真的很想知道这是否可能是一个错误。还是我忽略了什么?
Another question about this似乎解决了一个更复杂的情况,所以我希望没关系,我再问一次。
最佳答案
这在 Eclipse bug 260293 中有描述由于无法修复而关闭的几个重复项之一。
该错误基本上表明 Eclipse 不跟踪变量 isNotNull
和 nullableString
之间的相关性,因此它不知道该值不能为空。
关于java - Eclipse 中潜在的空指针访问——看似微不足道的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235469/