java - 自动装箱后将 null 分配给原始数据类型

标签 java nullpointerexception

我在 FirstRain 被问到这个问题

当一个人做这样的事情时,

int j = null;

它导致类型不匹配:无法将 null 转换为 int。

现在

    Integer i = null;
    int n = i;
    System.out.println(n);

为什么打印 n 会导致 NullPointerException,即使原始数据类型不允许为 null。

为什么它没有导致类型不匹配:无法将 null 转换为 int。

最佳答案

实际上是 int n = i;Integer 拆箱时抛出 NullPointerException,因为拆箱涉及取消引用存储的空引用在 i 中。

关于java - 自动装箱后将 null 分配给原始数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31023780/

相关文章:

java - 尝试用java创建一个简单的移位密码

java - 检查特定索引处的数组是否为 NULL 返回 NullPointerException

java - 在 Spring 配置中初始化空数组列表?

java - 使用 modelmapper 映射 2 个集合类型

java - 如何使用 java 8 修复以下 NullPointerException?

使用数组时出现 Java NullPointerException

java - android - 从 .java 文件控制 XML 文件时出现 NullPointerException

java - 使 jpa oneToMany 关系有效?

java - 如何在java中呈现简单的警报消息?

java - logp 不打印