声明任何原始类型的数据(例如int或)时,double它们会初始化为0或0.0。为什么我们不能将它们设置为null?
double
0
0.0
null
基本类型就是数据。另一方面,我们称为对象的对象只是指向数据存储位置的指针。例如:
Integer object = new Integer(3); int number = 3;
在这种情况下,object它只是指向一个整数对象的指针,该对象的值恰好是3。也就是说,在存储变量对象的内存位置,你所拥有的只是对数据实际位置的引用。number另一方面,存储的存储位置直接包含值3。
object
因此,你可以将设置object为null,但这仅表示该对象的数据为null(即未分配)。你不能将int设置为null,因为语言会将其解释为值0。