黑马程序员技术交流社区
标题:
自动拆箱装箱问题
[打印本页]
作者:
马林康
时间:
2012-6-19 12:35
标题:
自动拆箱装箱问题
本帖最后由 马林康 于 2012-6-19 16:28 编辑
public class equalsDemo3 {
public static void main(String[] args){
Integer a =1;
Integer b=2;
Integer c=3;
System.out.println(c.equals(a+b));
}
}
这个代码进行了几次拆箱 和几次装箱呢?
作者:
陆强强
时间:
2012-6-19 12:41
Integer a =1;//装箱1
Integer b=2;//装箱2
Integer c=3;//装箱3
a+b拆箱两次,装箱1次
作者:
车风波
时间:
2012-6-19 15:19
这三句:
Integer a =1;
Integer b=2;
Integer c=3;
每句都是装箱一次,
System.out.println(c.equals(a+b));是先把a和b都拆箱后再相加,再将和装箱。
作者:
张华廷
时间:
2012-6-19 15:37
Integer a =1;
Integer b=2;
Integer c=3;
这三句每句装箱一次,
c.equals(a+b)是先把a和b都拆箱后再相加,再将和装箱。
作者:
杨康
时间:
2012-6-19 17:47
Integer a =1;
Integer b=2;
Integer c=3;
每Integer 一次,自动装箱一次。
System.out.println(c.equals(a+b));
(a+b)先拆箱进行运算,得到的结果再进行一次装箱。
作者:
王晓新
时间:
2012-6-19 18:29
Integer a=1//把int型装箱成Integer,一次。
Integer b=2;//把int型装箱成Integer,两次。
Integer c=3;//把int型装箱成Integer,三次。
System.out.println(c.equals(a+b));//先分别拆箱a,b,再将(a+b)装箱。
所以总共是4次装箱,2次拆箱!
作者:
常佳杰
时间:
2012-6-19 19:01
上边的哥们们说的都很对..我再加点东西吧...
我估计哥们是不太理解什么是装箱和拆箱...我就用通俗的话给你解释吧..
Integer a=1// 这就话里的1是个int类型的,你说int类型赋值给Integer理论上说是不行的是吧?
重点来了,在java中就会有这样的功能把int类型自动装箱成Integer类型在赋给Integer。
这样解释不知道能不能理解,其实我感觉哈,你不该这样问装了多少次和拆了多少次,
问一下什么是装箱和拆箱会更好,也能更快的解决你的问题,这也只是我的理解..
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2