为什么 Java 引用在默认情况下不为空?



我在其他语言(C和C++(中看到过这个问题。但我仍然不明白为什么Java中也是这样。声明引用但不将其设置为null在哪里有用?

Thing ref;
if (someCondition)
ref = oneThing;
else 
ref = anotherThing;

在上面的代码中将"ref"初始化为null没有任何好处,至少只要两个赋值都不能引发异常,就不会有任何好处。

这不是";有用的";它没有初始化,只是初始化它没有意义

我希望它不是那样的——我更喜欢局部变量的初始化,而不是像成员变量一样工作——但事实就是这样

我想这是出于效率的原因。如果不必初始化局部变量,那么分配基本上只是对堆栈指针的调整。

相关内容

最新更新