概述
Java提供了兩種類型系統,基本類型和引用類型,使用基本類型在於效率,然而很多情況下會創建對象,如果想要基本類型像對象一樣操作,就可以使用基本類型對應的包裝類。對應如下:
| 基本類型 | 對應的包裝類 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
基本數據類型轉為包裝類
基本數據類型轉為對應的包裝類對象稱為裝箱。
public class WrapperTest {
@Test
public void test1() {
//調用包裝類的構造器
Integer integer1 = new Integer(123);
System.out.println(integer1); //123
Integer integer2 = new Integer("456");
System.out.println(integer2); //456
Float f1 = new Float(1.3f);
System.out.println(f1); //1.3
Float f2 = new Float("12.3");
System.out.println(f2); //12.3
Boolean b1 = new Boolean(true);
System.out.println(b1); //true
Boolean b2 = new Boolean("true");
System.out.println(b2); //true
Boolean b3 = new Boolean("true123");
System.out.println(b3); //false
}
}
包裝類轉為基本數據類型
包裝類對象轉為對應的基本類型稱為拆箱。
public class WrapperTest {
@Test
public void test2(){
Integer integer1 = new Integer(123);
int i = integer1.intValue();
System.out.println(i+1); //124
Float f1 = new Float(1.34);
float f2 = f1.floatValue();
System.out.println(f2); //1.34
}
}
自動裝箱和自動拆箱
從JDK1.5之后基本數據類型的數據和包裝類之間可以自動的相互轉換。
public class WrapperTest {
@Test
public void test3(){
//自動裝箱:基本數據類型->包裝類
int num1 = 10;
Integer num2 = num1;
boolean b1 = true;
boolean b2 = b1;
//自動拆箱:包裝類->基本數據類型
int num3 = num2;
}
}
基本數據類型、包裝類和String類型之間的轉換
基本數據類型、包裝類轉為String類型:
public class WrapperTest {
// 基本數據類型、包裝類->String類型
@Test
public void test4() {
int num1 = 10;
//方式1:連接運算
String str1 = num1 + "";
//方式2:調用String重載的valueOf方法
float f1 = 12.34f;
String str2 = String.valueOf(f1);
System.out.println(str2);
Double d1 = new Double(12.3);
String str3 = String.valueOf(d1);
System.out.println(str3);
}
}
String類型轉為基本數據類型、包裝類:
public class WrapperTest {
// String類型->基本數據類型
@Test
public void test5() {
String str1 = "123";
int num2 = Integer.parseInt(str1);
System.out.println(num2);
String str2 = "true";
boolean b1 = Boolean.parseBoolean(str2);
System.out.println(b1);
}
}
