1. Java中的數據類型
2. 基本數據類型及對應的包裝類
基本數據類型 | 對應的包裝類 |
---|---|
int | Integer |
char | Character |
float | Float |
double | Double |
long | Long |
short | Short |
boolean | Boolean |
byte | Byte |
3. 裝箱和拆箱
實現基本數據類型和包裝類的轉換:
- 裝箱(Boxing) 是將基本數據類型轉換為對應的包裝類對象;
int num = 10;
Integer boxedNum = new Integer(num); // 手動裝箱
int num = 10;
Integer boxedNum = num; // 自動裝箱
- 拆箱(Unboxing) 則是將包裝類對象轉換回基本數據類型。
Integer boxedNum = new Integer(10);
int num = boxedNum.intValue(); // 手動拆箱
Integer boxedNum = new Integer(10);
int num = boxedNum; // 自動拆箱
基本數據類型和字符串的轉換:
package learn;public class WrapTest1 {public static void main(String[] args) {// 1. 基本數據類型轉字符串int t1 = 2;String t2 = Integer.toString(t1);System.out.println("int轉String類型對象t2:"+t2);// 2. 字符串轉基本數據類型// 2-1. 包裝類的parseint t3 = Integer.parseInt(t2);System.out.println("String轉int類型對象t3:"+t3);// 2-2. 包裝類的valueOfint t4 = Integer.valueOf(t2);System.out.println("String轉int類型對象t4:"+t4);}
}
int轉String類型對象t2:2
String轉int類型對象t3:2
String轉int類型對象t4:2
3. 思考
package learn;public class WrapTest1 {public static void main(String[] args) {Integer one = new Integer(100);Integer two = new Integer(100);// 比較的是兩個對象的引用,falseSystem.out.println("one=two? " + (two==one)); Integer three = 100;// trueSystem.out.println("three=100? " + (three==100));Integer four = 100;//沒超出字面量,引用的是緩沖區的three,返回trueSystem.out.println("three=four? " + (three==four)); Integer five = 200; //trueSystem.out.println("five=200? " + (five==200));Integer six = 200; //超出字面量范圍-128-127,每次裝箱都會new一個新對象,所以返回falseSystem.out.println("five=six? " + (five==six));Double seven = Double.valueOf(100);Double eight = Double.valueOf(100);// falseSystem.out.println("seven=eight? " + (seven==eight));}
}