Java - 区别null与空

zur*_*fyx 1 java

初始化null或清空有什么区别:

Type name = null;
Type name;
Run Code Online (Sandbox Code Playgroud)

有什么不同吗?

我明白这个例子:

String name = null;
String name = "";
Run Code Online (Sandbox Code Playgroud)

不同之处在于,第一个不会将其初始化为任何值而另一个不会,但前两个之间是否存在差异

Jig*_*shi 7

Type name = null;
Type name;
Run Code Online (Sandbox Code Playgroud)

任何引用变量的默认值都null没有区别

如果它被定义到某个局部范围,那么如果在初始化之前尝试访问它,它将给你编译器错误