包裝類(封裝類):
針對八種基本數(shù)據(jù)類型,定義相應(yīng)的引用類型蚪战。
基本數(shù)據(jù)類型:boolean ?byte ?short int long char float double
封裝類:Bealoon ?Byte ?Short?Integer?Long Character Float Double
String類:三種數(shù)據(jù)類型相互轉(zhuǎn)換
//基本數(shù)據(jù)類型與包裝類之間的轉(zhuǎn)換
@Test
public void test1(){
int i = 10;
System.out.println(i);//10皱炉;i不能使用toString方法庸推,因為它是屬性蒜茴,并不是對象
boolean b = false;
①//基本數(shù)據(jù)類型 ---> 對應(yīng)的包裝類:調(diào)用包裝類的構(gòu)造器(這種數(shù)據(jù)類型的默認(rèn)值都是null)
//Integer的構(gòu)造器有兩種:Integer(int value)和Integer(String s),但是s去掉雙引號后也必須是int型的
//同理疆栏,F(xiàn)loat類型的也是float曾掂、double、string壁顶,但是最終類型也應(yīng)該是float類型的珠洗。如果基本實體都不是float類型的,會報出NumberFormatException.
//Boolean類型的比較特殊若专,形參如果不是true或者“true",其他的都是false许蓖。
Integer i1 = new Integer(i);
System.out.println(i1);//10;這里的i1就相當(dāng)于i1.toString(),i1為對象
Float f1 = new Float(12.3F);
System.out.println(f1);
②//包裝類---->基本數(shù)據(jù)類型:調(diào)用包裝類xxx的xxxValue()方法
int i2 = i1.intValue();
System.out.println(i2);
float f2 = f1.floatValue();
System.out.println(f2);
//JDK5.0以后调衰,便可以自動裝箱和拆箱膊爪,其他數(shù)據(jù)類型類似
Integer i4 = i2;//i2 int型 ---> i4 Integer自動裝箱
int i3 = i1;//i1 Integer--->i3 int型自動拆箱
//基本數(shù)據(jù)類型、包裝類 與String之間的轉(zhuǎn)換
@Test
public void test2(){
//基本數(shù)據(jù)類型嚎莉、包裝類---->String類:調(diào)用String類的靜態(tài)的重載valueof(xxx x)方法
int i1 = 10;
String str1 = i1 + "";//以前用過的方法米酬,"10";
Integer i2 = i1;
String str2 = String.valueOf(i1);//i2也可以趋箩,使用Stringde valueof方法
String str3 = String.valueOf(true);//"true"
//String類---->基本數(shù)據(jù)類型赃额、包裝類:調(diào)用包裝類的parseXxx(String str)方法
int i3 = Integer.parseInt(str2);
boolean b1 = Boolean.parseBoolean(str3);
//int i4 = (int)str2;//這種方法是錯誤的,int與String一點關(guān)系都沒有叫确,所以不可以這么轉(zhuǎn)跳芳。
}