概述
Java提供了兩個類型系統,基本類型與引用類型,使用基本類型在於效率,然而很多情況,會創建對象使用,因為對象可以做更多的功能,如果想要我們的基本類型像對象一樣操作,就可以使用基本類型對應的包裝類,如下:
Integer類
Integer類概述包裝一個對象中的原始類型 int 的值Integer類構造方法及靜態方法
示例代碼public class IntegerDemo { public static void main(String[] args) { //public Integer(int value):根據 int 值創建 Integer 對象(過時) Integer i1 = new Integer(100); System.out.println(i1); //public Integer(String s):根據 String 值創建 Integer 對象(過時) Integer i2 = new Integer("100"); //Integer i2 = new Integer("abc"); //NumberFormatException System.out.println(i2); System.out.println("--------"); //public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 實例 Integer i3 = Integer.valueOf(100); System.out.println(i3); //public static Integer valueOf(String s):返回保存指定String值的Integer對象 Integer i4 = Integer.valueOf("100"); System.out.println(i4); }}
裝箱與拆箱
基本類型與對應的包裝類對象之間,來迴轉換的過程稱為」裝箱「與」拆箱「:
裝箱:從基本類型轉換為對應的包裝類對象。拆箱:從包裝類對象轉換為對應的基本類型。用Integer與 int為例:(看懂代碼即可)
基本數值---->包裝對象
Integer i = new Integer(4);//使用構造函數函數
Integer iii = Integer.valueOf(4);//使用包裝類中的valueOf方法
包裝對象---->基本數值
int num = i.intValue();
自動裝箱與自動拆箱
由於我們經常要做基本類型與包裝類之間的轉換,從Java 5(JDK 1.5)開始,基本類型與包裝類的裝箱、拆箱動作可以自動完成。例如:
Integer i = 4;//自動裝箱。相當於Integer i = Integer.valueOf(4);
i = i + 5;//等號右邊:將i對象轉成基本數值(自動拆箱) i.intValue() + 5;
//加法運算完成後,再次裝箱,把基本數值轉成對象。
基本類型與字符串之間的轉換
基本類型轉換為String
轉換方式方式一:直接在數字後加一個空字符串方式二:通過String類靜態方法valueOf()示例代碼public class IntegerDemo { public static void main(String[] args) { //int --- String int number = 100; //方式1 String s1 = number + ""; System.out.println(s1); //方式2 //public static String valueOf(int i) String s2 = String.valueOf(number); System.out.println(s2); System.out.println("--------"); }}
String轉換成基本類型
除了Character類之外,其他所有包裝類都具有parseXxx靜態方法可以將字符串參數轉換為對應的基本類型:
public static byte parseByte(String s):將字符串參數轉換為對應的byte基本類型。
public static short parseShort(String s):將字符串參數轉換為對應的short基本類型。
public static int parseInt(String s):將字符串參數轉換為對應的int基本類型。
public static long parseLong(String s):將字符串參數轉換為對應的long基本類型。
public static float parseFloat(String s):將字符串參數轉換為對應的float基本類型。
public static double parseDouble(String s):將字符串參數轉換為對應的double基本類型。
public static boolean parseBoolean(String s):將字符串參數轉換為對應的boolean基本類型。
代碼使用(僅以Integer類的靜態方法parseXxx為例)如:
轉換方式方式一:先將字符串數字轉成Integer,再調用valueOf()方法方式二:通過Integer靜態方法parseInt()進行轉換示例代碼public class IntegerDemo { public static void main(String[] args) { //String --- int String s = "100"; //方式1:String --- Integer --- int Integer i = Integer.valueOf(s); //public int intValue() int x = i.intValue(); System.out.println(x); //方式2 //public static int parseInt(String s) int y = Integer.parseInt(s); System.out.println(y); }}
注意:如果字符串參數的內容無法正確轉換為對應的基本類型,則會拋出java.lang.NumberFormatException異常。