你的位置:首页 > 软件开发 > Java > Integer类型值相等或不等分析

Integer类型值相等或不等分析

发布时间:2016-08-17 04:00:24
看到博客园一位博友写的面试问题,其中一题是 Integer a = 1; Integer b = 1 ; (a == b)?true :false; 当时我一看,这不是明显的true 嘛, 看到评论讨论才知道,对于Integer值比较 有范围规定 。平时都是用equ ...

Integer类型值相等或不等分析

     看到博客园一位博友写的面试问题,其中一题是 Integer a = 1; Integer b = 1 ; (a == b)?true :false; 当时我一看,这不是明显的true 嘛,  看到评论讨论才知道,对于Integer值比较 有范围规定   。平时都是用equals做比较判断,简单省事。没注意到这些细节。正好趁此机会好好谷歌了一下,以此做个备份。

     用以下代码做测试

 

 1   @Test 2   public void testInteger() { 3     Integer a = -129; 4     Integer a1 = -129; 5     Integer aaa = new Integer(-129); 6  7     Integer aa = -128; 8     Integer aa1 = -128; 9 10     System.out.println("a==a1:" + (a == a1) + "--aa==aa1:" + (aa == aa1)); //  a==a1:false--aa==aa1:true11     System.out.println("aaa==a1:" + (aaa == a1));    // aaa==a1:false12     System.out.println("a.equals(a1):" + a.equals(a1));  // a.equals(a1):true13 14     Integer b = 128;15     Integer b1 = 128;16     System.out.println("b==b1:" + (b == b1));  // b==b1:false17     System.out.println("b.equals(b1):" + b.equals(b1)); // b.equals(b1):true18 19     Integer c = 127;20     Integer cc = 127;21     Integer d = 1;22     Integer dd = 1;23 24     System.out.println("c==cc:" + (c == cc) + "----d==dd:" + (d == dd)); // c==cc:true----d==dd:true25     System.out.println("------------");26 27     Integer e = 128;28     int e1 = 128;29     System.out.println("e == e1:" + (e == e1)); // e == e1:true30   }

原标题:Integer类型值相等或不等分析

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录