当声明像 int
或 double
这样的任何原始类型数据时,它们会被初始化为 0
或 0.0
。为什么我们不能将它们设置为 null
?
最佳答案
原始类型只是数据。另一方面,我们所说的对象只是指向数据存储位置的指针。例如:
Integer object = new Integer(3);
int number = 3;
在这种情况下,object
只是一个指向Integer对象的指针,它的值恰好是3。也就是说,在存储变量对象的内存位置,你所拥有的只是一个引用到数据真正所在的位置。另一方面,存储number
的内存位置直接包含值3。
因此,您可以将 object
设置为 null,但这仅意味着该对象的数据为 null(即未分配)。您不能将 int 设置为 null,因为语言会将其解释为值 0。
希望有帮助!
关于java - 为什么 Java 中的原始数据类型不能是 "null"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11047276/