初始化为null
或清空有什么区别:
Type name = null;
Type name;
有什么不同吗?
我理解为例如:
String name = null;
String name = "";
不同之处在于,第一个不会将其初始化为任何值而另一个值是,但前两个之间是否存在差异?
答案 0 :(得分:7)
Type name = null;
Type name;
任何参考变量的默认值为null
,因此无差异
如果它被定义到某个局部范围,那么如果你在初始化之前尝试访问它会给你编译错误
答案 1 :(得分:2)
我所知道的唯一区别是,如果您在本地范围而不是在类范围内声明变量,如果您在后者的某些初始化之前尝试使用该变量,则编译器会抱怨。否则,我知道没有区别。
答案 2 :(得分:2)
没有。没有区别。如果您未指定默认值,则会自动将该变量视为null
。