我正在使用 Java。
我通常这样设置一些对象:
public class Foo {
private SomeObject someName;
// do stuff
public void someMethod() {
if (this.someName != null) {
// do some stuff
}
}
}
问题是:这个例子中的 someName
是否等同于 null
,因为我可以 可靠地为所有对象
假设 null 检查未初始化的对象会准确吗?
最佳答案
正确,未显式初始化的引用类型的静态成员和实例成员都被 Java 设置为 null
。同样的规则也适用于数组成员。
来自Java Language Specification ,第 4.12.5 节:
Initial Values of Variables
Every variable in a program must have a value before its value is used:
Each class variable, instance variable, or array component is initialized with a default value when it is created
[...] For all reference types, the default value is
null
.
注意,以上规则不包括局部变量:它们必须显式初始化,否则程序将无法编译。
关于java - 未初始化的对象与初始化为 NULL 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699593/