Java19——包裝類(wrapper)的使用 import org.junit.Test;
/*
* 包裝類的使用:
* 1.java提供了8種基本資料類型對應的包裝類,使得基本資料類型的變量具有類的特征
*
* 2.掌握的:基本資料類型、包裝類、String三者之間的互相轉換
*
*
*
*/
public class WrapperTest {
//String類型 --->基本資料類型、包裝類:調用包裝類的parseXxx(String s)
@Test
public void test5(){
String str1 = "123";
//錯誤的情況:
// int num1 = (int)str1;
// Integer in1 = (Integer)str1;
//可能會報NumberFormatException
int num2 = Integer.parseInt(str1);
System.out.println(num2 + 1);
String str2 = "true1";
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);
}
//基本資料類型、包裝類--->String類型:調用String重載的valueOf(Xxx xxx)
@Test
public void test4(){
int num1 = 10;
//方式1:連接配接運算
String str1 = num1 + "";
//方式2:調用String的valueOf(Xxx xxx)
float f1 = 12.3f;
String str2 = String.valueOf(f1);//"12.3"
Double d1 = new Double(12.4);
String str3 = String.valueOf(d1);
System.out.println(str2);
System.out.println(str3);//"12.4"
}
/*
* JDK 5.0 新特性:自動裝箱 與自動拆箱
*/
@Test
public void test3(){
// int num1 = 10;
// //基本資料類型-->包裝類的對象
// method(num1);
//自動裝箱:基本資料類型 --->包裝類
int num2 = 10;
Integer in1 = num2;//自動裝箱
boolean b1 = true;
Boolean b2 = b1;//自動裝箱
//自動拆箱:包裝類--->基本資料類型
System.out.println(in1.toString());
int num3 = in1;//自動拆箱
}
public void method(Object obj){
System.out.println(obj);
}
//包裝類--->基本資料類型:調用包裝類Xxx的xxxValue()
@Test
public void test2(){
Integer in1 = new Integer(12);
int i1 = in1.intValue();
System.out.println(i1 + 1);
Float f1 = new Float(12.3);
float f2 = f1.floatValue();
System.out.println(f2 + 1);
}
//基本資料類型 --->包裝類:調用包裝類的構造器
@Test
public void test1(){
int num1 = 10;
// System.out.println(num1.toString());
Integer in1 = new Integer(num1);
System.out.println(in1.toString());
Integer in2 = new Integer("123");
System.out.println(in2.toString());
//報異常
// Integer in3 = new Integer("123abc");
// System.out.println(in3.toString());
Float f1 = new Float(12.3f);
Float f2 = new Float("12.3");
System.out.println(f1);
System.out.println(f2);
Boolean b1 = new Boolean(true);
Boolean b2 = new Boolean("TrUe");
System.out.println(b2);
Boolean b3 = new Boolean("true123");
System.out.println(b3);//false
Order order = new Order();
System.out.println(order.isMale);//false
System.out.println(order.isFemale);//null
}
}
class Order{
boolean isMale;
Boolean isFemale;
}