我在用Java工作。
我通常会这样设置一些对象:
public class Foo {
private SomeObject someName;
// do stuff
public void someMethod() {
if (this.someName != null) {
// do some stuff
}
}
}
问题是:在此示例中,
someName
是否等于null
,因为我可以让reliably for all objects
假定对未初始化的对象进行空检查将是准确的吗? 最佳答案
正确的是,未明确初始化的引用类型的静态成员和实例成员都已由Java设置为null
。相同的规则适用于数组成员。
在Java Language Specification中,第4.12.5节:
请注意,以上规则不包括局部变量:必须显式初始化它们,否则程序将无法编译。