《Java》:Integer对象和 ==、equals分析
今天看到Integer的一个小知识点,比较有意思。
我们都知道
Integer i = 3;
等价于
Integer i = Integer.valueOf(3);
问题:下面这段代码应该输出什么呢?
Integer i =3;
Integer j =3;
System.out.println(i==j);
答案是: true。
在解释之前,再看如下的程序
public class Test {
public static void main(String[] args){
Integer c = 3;
Integer d = 3;
Integer c2 = new Integer(3);
Integer d2 = new Integer(3);
System.out.println(c == d);//true
System.out.println(c2 == d2