java - Eclipse 中潜在的空指针访问——看似微不足道的例子

标签 java eclipse pointers null

我有这段非常基本的代码,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 不跟踪变量 isNotNullnullableString 之间的相关性,因此它不知道该值不能为空。

关于java - Eclipse 中潜在的空指针访问——看似微不足道的例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235469/

相关文章:

c++ - 对指向动态分配内存的指针使用复制构造函数和复制赋值运算符

java - 无法看到 Intellij Idea Palette

java - 在 Firebase Admin SDK 之上创建 REST API Controller

java - imagemagick转换: tiff warnings/multiple output files created

java - 结合 CPLEX 和 JAVA

java - 如何 : install JOGL for Eclipse in Mac OSX 10. 6?

java - 创建一个计算利息并显示 10 年利息成本的表格

c - 需要在 C 中的源文件之间共享文件指针的方法

c - 在 C 中打印指向字符串 ( char *arr[ ] ) 的指针数组中的下一个字符串

java - 旋转 pdf 页面时书签不平衡