김준호*_*김준호 25 java null declaration
有什么区别:
Object o = null; 和Object o; (只是声明)有人可以回答我吗?
Per*_*ror 39
它取决于声明变量的范围.例如, 局部变量没有default values在这种情况下你必须手动分配null,在实例变量的情况下,分配null是多余的,因为实例变量获得默认值.
public class Test {
Object propertyObj1;
Object propertyObj2 = null; // assigning null is redundant here as instance vars get default values
public void method() {
Object localVariableObj1;
Object localVariableObj1.getClass(); // illegal, a compiler error comes up as local vars don't get default values
Object localVariableObj2 = null;
Object localVariableObj2.getClass(); // no compiler error as localVariableObj2 has been set to null
propertyObj1.getClass(); // no compiler error
propertyObj2.getClass(); // no compiler error
}
}
Run Code Online (Sandbox Code Playgroud)