一、什麼是包裝類
包裝類: Java是一個面向對象的編程語言,但是Java中的八種基本數據類型卻是不面向對象的,爲了使用方便和解決這個不足,在設計類時爲每個基本數據類型設計了一個對應的類進行代表,這樣八種基本數據類型對應的類統稱爲包裝類,包裝類均位於java.lang包。
二、應用場景
- 作爲 和基本數據類型對應的類類型存在,方便涉及到對象的操作。
比如有時候一個函數需要傳遞一個Object變量 而你想傳遞int類型的進去顯然不行,這就要用到包裝類。比如想傳遞5進去,就可以這樣test(new Integer(5));比如有時候一個函數需要傳遞一個Object變量 而你想傳遞int類型的進去顯然不行,這就要用到包裝類。比如想傳遞5進去,就可以這樣test(new Integer(5));public void test(Object obj){ }
- 集合不允許存放基本類型數據,只能存放包裝類型。
- 包裝類中包含每種基本數據類型的相關屬性如最大值、最小值等,以及相關的操作方法。
三、類型轉換
- 基本類型和包裝類之間可以相互轉換
通過包裝類的構造函數,可以將基本類型轉爲包裝對象。public Boolean(boolean value){//..} public Character(char value){//..} public Integer(int value){//..} public Long(long value){//..} public Float(float value){//..} public Double(double value) {//..}
- 基本類型之間相互轉換
在各個包裝類中,總有形爲××Value()的方法,來得到對應的基本類型數據。如Integer可將int轉成byte、short、long,float、double。public byte byteValue() { return (byte)value; } public short shortValue() { return (short)value; } public long longValue() { return (long)value; }
- 通過包裝類,String可以和基本類型之間相互轉換
String->包裝類類型
通過包裝類的構造函數,Boolean(String s),Integer(String s),Long(String s),Float(String s),Double(String s) 得到包裝類對象。
包裝類類型->Stringpublic Integer(String s) throws NumberFormatException { this.value = parseInt(s, 10); }
任何包裝類都存在一個名爲toString()的靜態方法能夠將其轉換成對應的String類。
另外,對於整型類和長整型類,還能夠使用toBinaryString(int i),toHexString(int i),toOctalString(int i)分別以二進制,十六進制和八進制的形式進行到String類的轉換。//將int類型的20轉成字符串 String s = Integer.toString(20); //將Integer類型的20轉成字符串 Integer i = new Integer(20); String s2 = i.toString();
四、包裝類寫法
除了Integer和Character類以後,其它六個類的類名和基本數據類型一直,只是類名的第一個字母大寫即可。
boolean -> Boolean
char -> Character
byte-> Byte
short-> Short
long-> Long
int -> Integer
float-> Float
double-> Double