#眉標=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);
}
===========程式==========