码迷,mamicode.com
首页 > 其他好文 > 详细

自动装箱的陷阱

时间:2017-09-29 22:52:15      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:自动装箱   str   算数   包装   关系   public   auto   装箱   void   

 1 class TestAuto{
 2     public static void main(String[] args){
 3         int i = 1;
 4         Integer a = 1;
 5         Integer b = 2;
 6         Integer c = 3;
 7         Integer d = 3;
 8         Integer e = 321;
 9         Integer f = 321;
10         Long g = 3L;
11         System.out.println(i == a);//true
12         System.out.println(c == d);//true
13         System.out.println(e == f);//false
14         System.out.println(c == (a + b));//true
15         System.out.println(c.equals(a + b));//true
16         System.out.println(g == (a + b));//true
17         System.out.println(g.equals(a + b));//false
18     }
19 }

鉴于包装类的“==”在不遇到算数运算的情况下不会自动拆箱(但是看上面的输出好像可以自动拆箱)

以及它们的equals()方法不处理数据转型的关系

自动装箱的陷阱

标签:自动装箱   str   算数   包装   关系   public   auto   装箱   void   

原文地址:http://www.cnblogs.com/xcyz/p/7612821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!