局部变量初始化null和未初始化之间的区别?

Damith Ganegoda:

在Java中,区别和最佳方法是什么?

Integer x = null; // x later assign some value.
Integer y; // y later initialize and use it.
马龙:

答案取决于您引用的变量类型。

对于类变量,没有区别,请参见JLS-4.12.5。变量的初始值

...程序中的每个变量都必须有一个值,然后才能使用它的值:

对于所有引用类型(第4.3节),默认值为null

意思是,没有区别,后者隐式设置为null

如果变量是局部变量,则必须在将它们传递给方法之前对其进行赋值:

myMethod(x); //will compile :)
myMethod(y)  //won't compile :(

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章