我在用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节:



请注意,以上规则不包括局部变量:必须显式初始化它们,否则程序将无法编译。

07-24 09:46
查看更多