測試代碼
public void test2() {
int i = 40;
int i0 = 40;
Integer i1 = 40;
Integer i2 = 40;
Integer i3 = 0;
Integer i4 = new Integer(40);
Integer i5 = new Integer(40);
Integer i6 = new Integer(0);
Double d1=1.0;
Double d2=1.0;
System.out.println("i=i0\t" + (i == i0)); // 比較值 結(jié)果為true
System.out.println("i1=i2\t" + (i1 == i2)); // 使用Integer.valueOf構(gòu)建對象仑最,內(nèi)部使用單例模式i1和i2指向了同一個引用,比較引用地址 結(jié)果為true
System.out.println("i1=i2+i3\t" + (i1 == i2 + i3));// 調(diào)用了intValue的方法比較值利耍,結(jié)果為true
System.out.println("i4=i5\t" + (i4 == i5)); // 使用new創(chuàng)建了兩個不同的對象关霸,比較引用地址 結(jié)果為false
System.out.println("i4=i5+i6\t" + (i4 == i5 + i6)); // 調(diào)用了intValue的方法比較值 結(jié)果為true
System.out.println("d1=d2\t" + (d1==d2)); // 使用Double.valueOf構(gòu)建Double對象爪模,比較引用地址 結(jié)果為false
System.out.println();
}