java - 为什么 Java 中的原始数据类型不能是 "null"?

标签 java null primitive-types

当声明像 intdouble 这样的任何原始类型数据时,它们会被初始化为 00.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/

相关文章:

c++ - 字符数组初始化,第一个元素为空

c++ - 伪析构函数调用不会破坏对象

scala - 如何在 Scala 中使用原语?

java - 休息网络服务

java - 将二维数组保存到磁盘文件

mysql - 错误 #1265 - 无法在默认 'none' 字段中插入空值

c++ - 显式调用 `int` 析构函数 - 为什么需要类型别名?

java - 动态配置 Message Driven Bean 中的 MappedName 注解

java - Android 可打包错误

java - Querydsl 空安全串联