在通过valueOf方法创建Integer对象的时候,如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。
别的就不会了。所以看一下几个测试:
public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; Integer i3 = 200; Integer i4 = 200; System.out.println("=======Integer============"); System.out.println(i1 == i2); System.out.println(i3 == i4); System.out.println("=======Double============"); Double d1 = 12.0; Double d2 = 12.0; Double m =123456.12; Double n = 123456.12; double d3 = 12.0; System.out.println(m==n); System.out.println(d1==d2); System.out.println(d1==d3); System.out.println("=======String============"); String a = "123"; String b = "123"; System.out.println(a==b); System.out.println(a.equals(b)); }
=======Integer============truefalse=======Double============falsefalsetrue=======String============truetrue
本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/5224392.html,如需转载请自行联系原作者