当我们在Java中将Integer分配给int时,为什么编译器不会出错
发布时间:2020-12-15 02:03:05 所属栏目:Java 来源:网络整理
导读:当我们将Integer(object)赋给int(primitive)时,为什么编译器不会出错? int i;Integer ii = new Integer(5);i = ii;//no compilation error. 所有其他类型(byte-Byte,float-Float)都是这种情况. 是什么原因?我错过了什么吗? 解决方法 它被称为autoboxing /
当我们将Integer(object)赋给int(primitive)时,为什么编译器不会出错?
int i; Integer ii = new Integer(5); i = ii;//no compilation error. 所有其他类型(byte-Byte,float-Float)都是这种情况. 是什么原因?我错过了什么吗? 解决方法
它被称为autoboxing / unboxing.
从Java 1.5开始,编译器会自动将基元“装箱”到相应的类中(例如int和Integer,double和Double等),并根据需要取消框. 有关详细信息,请参阅文档中的this page. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |