整型包装类值的比较

所有整型包装类对象值的比较必须使用equals方法。

先看下面这个例子:

Integer x = 3;
Integer y = 3;
System.out.println(x == y);// true
Integer a = new Integer(3);
Integer b = new Integer(3);
System.out.println(a == b);//false
System.out.println(a.equals(b));//true

当使用自动装箱方式创建一个Integer对象时,当数值在-128 ~127时,会将创建的 Integer 对象缓存起来,

当下次再出现该数值时,直接从缓存中取出对应的Integer对象。

所以上述代码中,x和y引用的是相同的Integer对象。

原文地址:https://www.cnblogs.com/Vincent-yuan/p/14510896.html