1. 程式人生 > 實用技巧 >Java基礎之:包裝類(Wrapper)

Java基礎之:包裝類(Wrapper)

Java基礎之:包裝類(Wrapper)

java中有八種基本定義相應的引用型別—包裝類,例如我們最常用到的Integer,Double等等

這些類將基本資料型別轉換為了引用資料型別,提供了一系列的方法。

包裝類與基本資料型別轉換

這裡使用Integer ---> int 舉例,其他型別是一樣的方式。

提到兩個名詞,裝箱和拆箱。

簡單案例

package class_wrapper;
​
public class ClassTest {
​
    public static void main(String[] args) {
​
        int a = 1;
        Integer c = new Integer(a); //手動裝箱
        Integer b = new Integer(2);
        
        Integer i = new Integer(2);
        int j = i.intValue();   //手動拆箱
        
        int i1 = 1;
        Integer j1 = i1;    //自動裝箱,底層實現與手動方式一樣,只是多了封裝
        
        Integer a1 = new Integer(1);
        int b1 = a1;//自動拆箱
​
        
        Double d = 100.1;   //Double類的自動裝箱
        double d1 = d; //自動拆箱
    }
​
}

 

包裝類與String型別轉化

這裡以Integer --> String為例:

package class_wrapper;
​
public class SrtingAndWrapper {
​
    public static void main(String[] args) {
​
        // 包裝型別————>String型別
        Integer i = 10;
        // 方式1:
        String s1 = i.toString();
        // 方式2:
        String s2 = String.valueOf(i);
        // 方式3:(推薦使用)
        String s3 = i + "";
        System.out.println(s3);
        // String————>包裝類
        // 方式1:(推薦使用)
        Integer j = new Integer(s1);
        // 方式2:
        Integer j2 = Integer.valueOf(s2);
        
        // 基本型別————>String型別
        int a = 10;
        // 方式1:(推薦使用)
        String ss = a + "";
        // 方式2:
        String sss = String.valueOf(a);
​
​
        //String————>基本型別(除了char型別)
        int aa = Integer.parseInt(ss);
        double dd = Double.parseDouble(ss);
​
        char c = ss.charAt(0);// [把字串轉成 char ,是通過charAt(0)]
        char[] cc = ss.toCharArray();   //String底層使用char陣列實現,可以通過toCharArray轉換
        System.out.println(cc);
​
    }
}

說明:關於String型別的詳解,會在下一篇部落格寫出。

常用的包裝類方法

這裡以Integer和Character為例:

package class_wrapper;
public class WarpperMethods {
    public static void main(String[] args) {
        System.out.println(Integer.MIN_VALUE); //返回最小值
        System.out.println(Integer.MAX_VALUE);//返回最大值
                
        System.out.println(Character.isDigit('a'));//判斷是不是數字
        System.out.println(Character.isLetter('a'));//判斷是不是字母
        System.out.println(Character.isUpperCase('a'));//判斷是不是大寫
        System.out.println(Character.isLowerCase('a'));//判斷是不是小寫
                
        System.out.println(Character.isWhitespace('a'));//判斷是不是空格
        System.out.println(Character.toUpperCase('a'));//轉成大寫
        System.out.println(Character.toLowerCase('A'));//轉成小寫
    }
}