在GWT应用程序(gwt: creating an instance of Window causes application to hang out)的上下文中,我将值设置为我忘记初始化的文本小部件,导致类似于浏览器控制台中的空指针异常。
困扰我的是Eclipse没有显示任何警告/错误。所以我查看了以下示例:
Object obj;
//obj = new Object();
obj.toString();
Eclipse说:
本地变量obj可能尚未初始化
但是当obj是班级的一个领域时,我没有得到任何警告:
public class MyClass
{
Object obj;
public MyClass()
{
//obj = new Object();
obj.toString();// I expect to get some warning here
}
}
我去Window>偏好> Java>编译器>错误/警告,我使用文本'null'进行过滤,唯一相关的结果在'Null analysis'部分下面;在这里,空指针访问已设置为引发警告; 潜在空指针访问设置为忽略,我修改它以引发警告,但我仍然没有得到上述示例的警告。还有其他方法告诉编译器提醒我这样的情况吗?
答案 0 :(得分:0)
我用Google搜索了一下,我遇到了Eclipse's reporting bug system,我从作者那里看到了这句话:
默认情况下未分配未分配的变量,并且用户应在代码的所有可能分支中分配它,否则会发生编译时错误。
还有:
只有字段获得默认值。需要在所有可能的路径中初始化局部变量。
所以他们的想法是他们需要你在需要的时候初始化变量,如果你还没有完成它应该是编译器的问题,就词法,语法和语义分析器来说没有问题。担心。这就是为什么不提出警告的原因。