gpt4 book ai didi

java - 奇怪的 Java 编译器警告 : incorrect "potential null access warning"

转载 作者:行者123 更新时间:2023-12-01 08:56:09 25 4
gpt4 key购买 nike

(JDK 1.6.0_23、Eclipse 3.7.0,“潜在空指针访问”警告级别为“警告”)考虑以下示例代码:

Object obj = null;
for (;;) {
obj = getObject();
if (obj != null) break;
Thread.sleep(25);
}
obj.toString();

我在最后一行收到以下警告:Potential null pointer access: The variable obj may be null at this locationobj 是否有任何真正的方法实际上是 null 或者编译器为什么这么认为?

最佳答案

我会说编译器将其视为:

Object obj = null;
[Too dumb to interpret this loop]
obj.toString();

因此,如果您无法解释循环的作用,obj.toString() 可能为 null。

例如,您可以通过替换来欺骗编译器:

void x(int x){
return;
x++; //error unreachable code
}

void x(int x){
if(true) return;
x++; //compiles
}

关于java - 奇怪的 Java 编译器警告 : incorrect "potential null access warning",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com