说出下列程序的执行结果,并说明原因:
Integer a = 55;
Integer b = 55;
System.out.println(a==b);
System.out.println(a==new Integer(55));
System.out.println(a.equals(new Integer(55)));
Integer c = 129;
Integer d = 129;
System.out.println(c==d);
true 比较的是数值,且在Integer范围内,自动入池
false 比较的是地址空间
true equals比较的是数值
false 比较的是数值,但是不在Integer范围内,不自动入池
Integer a = 55;
Integer b = 55;
System.out.println(a==b);
System.out.println(a==new Integer(55));
System.out.println(a.equals(new Integer(55)));
Integer c = 129;
Integer d = 129;
System.out.println(c==d);
true 比较的是数值,且在Integer范围内,自动入池
false 比较的是地址空间
true equals比较的是数值
false 比较的是数值,但是不在Integer范围内,不自动入池