为什么基元数据类型在 Java 中不能为“null”?

2022-08-31 17:09:24

当声明任何基元类型数据时,如 或 它们被初始化为 或 。为什么我们不能将它们设置为 ?intdouble00.0null


答案 1

基元类型只是数据。另一方面,我们所说的对象只是指向数据存储位置的指针。例如:

Integer object = new Integer(3);
int number = 3;

在本例中,只是指向值恰好为 3 的 Integer 对象的指针。也就是说,在存储变量对象的内存位置,您所拥有的只是对数据实际位置的引用。另一方面,存储的内存位置直接包含值 3。objectnumber

因此,您可以将 设置为 null,但这只意味着该对象的数据为 null(即未赋值)。不能将 int 设置为 null,因为语言会将其解释为值 0。object

希望有所帮助!


答案 2

因为 null 是引用。基元类型不是引用类型。只有对象是引用类型。