#眉標=JDK 5.0 #副標= JDK 5.0 Tiger Autoboxing/Unboxing #大標=剖析JDK 5.0 Autoboxing/Unboxing #作者=文/陳綮紳 ===========程式========== 程式1 public void BoxingUnboxing() { Integer i1 = new Integer(5); //Boxing int i2 = i1.intValue(); //Unboxing } ===========程式========== ===========程式========== 程式2 public void AutoboxingUnboxing() { Integer i1 = 5; //Autoboxing int i2 = i1; //Unboxing } ===========程式========== ===========程式========== 程式3 public void SourceCode() { Integer i1 = Integer.valueOf(5); //Boxing int i2 = i1.intValue(); //Unboxing } ===========程式========== ===========程式========== 程式4 public void add() { Integer i = 5; ++i; System.out.println(i); } ===========程式========== ===========程式========== 程式5 public void add() { Integer i = Integer.valueOf(5); i = Integer.valueOf(i.intValue()+1); System.out.println(i); } ===========程式========== ===========程式========== 程式6 public void testFlowControls() { Boolean B = true; Integer I = 100; int i = 99; while(I > i) { if(B) { switch(I){ case 100: System.out.println("switch"); } System.out.println("if-else"); i++; } System.out.println("while-loop"); } assert !B : "assert"; }===========程式========== ===========程式========== 程式7 public void isEqual() { Integer i1 = 128; Integer i2 = 128; if(i1 == i2) System.out.println(“equal”); else System.out.println(“not equal”); } ===========程式========== ===========程式========== 程式8 public void isEqualInt() { Integer i1 = 128; Integer i2 = 128; if((int)i1 == i2) System.out.println(“equal”); else System.out.println(“not equal”); } ===========程式========== ===========程式========== 程式9 public void isEqual2() { Integer i1 = 127; Integer i2 = 127; if(i1 == i2) System.out.println(“equal”); else System.out.println(“not equal”); } ===========程式========== ===========程式========== 程式10 public void isCache() { Byte b1 = -128; Byte b2 = -128; System.out.println((b1 == b2)?"equal":"not equal"); Short s1 = 127; Short s2 = 127; System.out.println((s1 == s2)?"equal":"not equal"); Integer i1 = 127; Integer i2 = 127; System.out.println((i1 == i2)?"equal":"not equal"); Long l1 = -128l; Long l2 = -128l; System.out.println((l1 == l2)?"equal":"not equal"); Boolean B1 = false; Boolean B2 = false; System.out.println((B1 == B2)?"equal":"not equal"); Character c1 = '\u007f'; Character c2 = 127; System.out.println((c1 == c2)?"equal":"not equal"); } ===========程式========== ===========程式========== 程式11 public static void doSomething(Integer i) { System.out.println("Integer"); } public static void doSomething(double i) { System.out.println("double"); } public static void doSomething(Integer... i) { System.out.println("Integer…"); } public static void main(String arg[]) { int i = 5; doSomething(i); } ===========程式========== ===========程式========== 程式12 public static void doSomething(int... i) { System.out.println("int…"); } public static void doSomething(Integer... i) { System.out.println("Integer…"); } public static void main(String arg[]) { int i = 5; doSomething(i); } ===========程式==========