public static void main(String[] args)指針
{ Integer i0 = 0; Integer i1 = 40; Integer i2 = 40; System.out.println(i1==i2);//true Integer包裝類實現了常量池技術,默認會生成一個-128~127範圍的一個常量池,i1,i2都是從常量池獲取的40,指針指向同一個地址 Integer i3 = new Integer(40); System.out.println(i1==i2+i0);//true 數學運算在棧中進行,運算時會進行拆箱操做,因此實際上比較的是基本數據類型40 == 40 + 0 的數值 System.out.println(i1==i3+i0);//true 數學運算在棧中進行,運算時會進行拆箱操做,因此實際上比較的是基本數據類型40 == 40 + 0 的數值 Integer i4 = new Integer(40); Integer i5 = new Integer(40); Integer i6 = new Integer(0); System.out.println(i4==i5+i6);//true 數學運算在棧中進行,運算時會進行拆箱操做,因此實際上比較的是基本數據類型40 == 40 + 0 的數值 System.out.println(i4==i5);//false 引用類型,指向不一樣的地址 Integer i7 = 1000; Integer i8 = 1000; System.out.println(i7==i8);//false 包裝類超出了常量池範圍 System.out.println("==================="); float f1 = 1.0f; float f2 = 1.0f; System.out.println(f1==f2);//true 基本數據類型浮點數比較數值 Float f3 = 1.0f; Float f4 = 1.0f; System.out.println(f3==f4);//false 包裝類型,且Float沒有實現常量池,因此他們指向的引用時不一樣的 Float f5 = 1.0f; Float f6 = 1.0f; Float f7 = 0.0f; System.out.println(f5==f6+f7);//true 基本類型的數學運算會拆包裝 }
>>>>閱讀全文code