首页 > 其他 > 详细

黑马程序员--Integer 拆箱

时间:2014-03-23 15:04:16      阅读:497      评论:0      收藏:0      [点我收藏+]

用一个范例来解释Integer的拆箱

bubuko.com,布布扣
 1 package com.blog;
 2 
 3 public class boxing {
 4     public static void main(String[] args){
 5         
 6         Integer c = 10;//Integer c = new Integer.valueof(10),从缓存中获取
 7         Integer d = 10;
 8         System.out.println(c.equals(d));//true, equals比较值是否一样
 9         System.out.println(c==d); //true,c和d都是指向缓存中的Integer.valueof(10)
10         
11         /*integer 对于-128到127的数会进行缓存
12          * public static Integer valueOf(int i) {
13          assert IntegerCache.high >= 127;
14          if (i >= IntegerCache.low && i <= IntegerCache.high)
15              return IntegerCache.cache[i + (-IntegerCache.low)];
16          return new Integer(i);
17         }*/
18         Integer e = 128;//Integer e = new Integer.valueof(128)(即= new Integer(128));
19         Integer f = 128;
20         System.out.println(e.equals(f));//true,equals比较值是否一样
21         System.out.println(e==f); //false, ==是比较内存地址是否一样,而e和f是分别new Integer(128)得到的
22         
23         int i = 128;
24         Integer j = 128;
25         System.out.println(j.equals(i));//true
26         System.out.println(i==j);//true, 比较时j会自动拆箱为128, int和integer(无论new否)比,都为true,因为会把Integer自动拆箱为int再去比
27         
28         int k = 128;
29         Integer l = new Integer(128);
30         System.out.println(l.equals(k));//true
31         System.out.println(l==k);//true, 比较时l会自动拆箱为128
32         
33         Integer m = new Integer(128);
34         Integer n = new Integer(128);
35         System.out.println(m.equals(n));//true
36         System.out.println(m==n);//false, new 得到的堆内存中的地址肯定不一样了
37         
38         Integer o = new Integer(12);
39         Integer p = new Integer(12);
40         System.out.println(o.equals(p));//true
41         System.out.println(o==p);//false
42     }
43 }
bubuko.com,布布扣

 

黑马程序员--Integer 拆箱,布布扣,bubuko.com

黑马程序员--Integer 拆箱

原文:http://www.cnblogs.com/zhblucky/p/3618627.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!