为什么编译器不';在Java中将整数赋值给int时,不要给出错误

为什么编译器不';在Java中将整数赋值给int时,不要给出错误,java,Java,当我们将整数(对象)赋给int(原语)时,为什么编译器不给出错误 所有其他类型(字节-字节,浮点-浮点)都是如此 原因是什么?我在这里遗漏了什么吗?这叫做自动装箱/取消装箱 从Java 1.5开始,编译器会自动将原语“装箱”到相应的类中(例如int和Integer,double和double等),并根据需要取消装箱 有关更多详细信息,请参见文档中的。i=ii//没有编译错误。 因为这叫做自动取消装箱。将对象指定给基元变量时,将从对象中取出值并指定给基元变量。此过程称为自动取消装箱。 反之亦然,这

当我们将整数(对象)赋给int(原语)时,为什么编译器不给出错误

所有其他类型(字节-字节,浮点-浮点)都是如此


原因是什么?我在这里遗漏了什么吗?

这叫做自动装箱/取消装箱

从Java 1.5开始,编译器会自动将原语“装箱”到相应的类中(例如
int
Integer
double
double
等),并根据需要取消装箱


有关更多详细信息,请参见文档中的。

i=ii//没有编译错误。

因为这叫做自动取消装箱。将
对象指定给基元变量时,将从对象中取出值并指定给基元变量。此过程称为
自动取消装箱

反之亦然,这称为“自动装箱/取消装箱”。像
int
这样的基本类型会自动转换为像
Integer
这样的类,反之亦然。Java SE 5.0引入了自动装箱作为一项新功能。您可以在Java文档中找到更多信息

Java5和更新版本能够执行。编译器将隐式地将代码转换为:

int i;
Integer ii = new Integer(5);
i = ii.intValue();
int i;
Integer ii = new Integer(5);
i = ii.intValue();