使用Object
使用Object
类型的对象用于自动装箱正在工作,但它不适用于拆箱。背后的原因是什么?我的意思是关于不为对象类型对象拆箱功能。有什么特别的理由来实现这种行为。因为它支持自动装箱,但不支持拆箱。当涉及到Integer类时,它支持自动装箱和取消装箱。而且c#还支持对象类型对象的自动装盒和拆箱。使用对象在java中自动装箱拆箱使用对象
class Demo{
public static void main(String args[]){
int x=100;
Object iob1=new Object();
Object iob2=x; //Auto Boxing
System.out.println(iob2.toString());
int y = x + iob1; //Unboxing is not working
int z = x + new Integer(10); // Unboxing is working
System.out.println(y);
}
}
@ Swailem95非/拳击这里描述的JLS:http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.7 。基本上是将原始类型隐式转换为相应的'Object'类型,例如'int'到'Integer',反之亦然 – Paul
你应该为一个对象('iob1')添加一个int值('x')?!也许'else/if'接下来呢? – 2015-09-05 18:31:28
如何将'100'添加到'Object'。例如,拳击与整型转换有关。你需要将'Object'强制转换为'Integer'。我真的不明白你的期望如何工作。 –