1. 包裝類:
- java是面向對象的語言,任何事物都可以使用類進行描述,sun就使用了一些類描述java中八種基本數據類型數據
2. 八大基本數據類型對應的包裝類
基本數據類型 包裝類
byte Byte
short Short
int Integer
long Long
double Double
float Float
char Character
boolean Boolean
3. 基本數據類型有了包裝類的好處:
3.1在jdk1.5之前,並沒有包裝類,當需要把引用數據類型當成基本數據類型使用時,需要手動進行轉換;jdk1.5之後,有了包裝了,基本數據類型和引用數據類型可以進行自動轉換。
3.2可以把 字符串轉換成數字類型的數據使用,也可以把數字類型數據轉換成字符串使用
3.3可以把字符串當成對應的進制數據自動進行轉換。
4. 自動拆裝箱
4.1 自動裝箱:將基本數據類型的值直接賦值給引用數據類型(包裝類)的過程,稱爲自動裝箱
-
- &bsp; &bsp;it ——>> &bsp;Iteger
4.2 自動拆箱:將引用數據類型(包裝類)數據直接賦值給基本數據類型的過程,稱爲自動拆箱
-
- &bsp; Iteger ——>> it
5. Integer底層維護的是緩衝數組
Integer 內部維護了緩衝數組,該緩衝數組存儲的是-128~127,這些數據在一個數組中。 如果你獲取的數據是這個範圍內,那麼就直接從該緩衝區中獲取對應的數據。
public static void main(String[] args) {
String str1 = "10";
// 字符串轉數字
int data1 = Integer.parseInt(str1) + 1;
System.out.println("字符串轉數字:" + data1); // 11
// 把數字轉換成字符串
String string1 = Integer.toString(data1);
System.out.println("數字轉字符串:" + string1); // "11"
// 把字符串當成對應進制的數據使用
String str2 = "10";
int data2 = Integer.parseInt(str2, 2); // 二進制
System.out.println("十進制的10轉換成二進制:" + data2);//2
// 自動裝箱:把基本數據類型包裝成引用數據類型
int data3 = 2;
Integer str3 = data3;//將基本數據類型的值直接賦值給引用數據類型(包裝類)的過程,稱爲自動裝箱
// 自動拆箱:把引用數據類型轉換成基本數據類型
Integer integer = new Integer(2);
int data4 = integer;// 將引用數據類型(包裝類)數據直接賦值給基本數據類型的過程,稱爲自動拆箱
System.out.println("自動裝箱:" + str3 + " 自動拆箱:" + data4);//2 2
// Integer 內部維護了緩衝數組,該緩衝數組存儲的是-128~127,這些數據在一個數組中。 如果你獲取的數據是這個範圍內,那麼就直接從該緩衝區中獲取對應的數據。
Integer data5 = 127;
Integer data6 = 127;
System.out.println("是同一個對象嗎?" + (data5 == data6));//true
Integer data7 = 128;
Integer data8 = 128;
System.out.println("是同一個對象嗎?" + (data7 == data8));//false
Integer data9 = -128;
Integer data10 = -128;
System.out.println("是同一個對象嗎?" + (data9 == data10));//true
Integer data11 = -129;
Integer data12 = -129;
System.out.println("是同一個對象嗎?" + (data11 == data12));//false
}