java 中Integer 类型为什么能相加?
public class test
{
public static void main(String[] args)
{
Integer a=new Integer(12);
Integer b=new Integer(78);
System.out.println(a+b);
}
}
a和b都不是基本类型,却能相加,这是怎么实现的?
如果要自己写两个可以相加的类应该怎么办?
最佳答案 刚刚在另一个问题中提到这一点 jdk1.5的新特性 自动装箱和拆箱
也就是 包装类和它包装的简单类型 可以自由转换
以前我们实现这个例子时必须做的是
int a1 = a.intValue();
int b1 = b.intValue();
System.out.println(a1 + b1);
而有了新特性 就不那么多转化了 jvm就帮我们做这些事