1. 程式人生 > >基本型別包裝類以及String之間的轉換,自動拆裝箱。

基本型別包裝類以及String之間的轉換,自動拆裝箱。

一:  基本型別包裝類:

          為什麼會有基本型別包裝類?
                        為了對基本資料型別進行更多的操作,更方便的操作,java就針對每一種基本資料型別提供了對應的類型別.

          常用操作:    常用的操作之一:用於基本資料型別與字串之間的轉換。

          基本型別和包裝類的對應
                        byte               Byte
                        short             Short
                        int                 Integer
                        long              Long
                        float              Float
                        double          Double
                        char              Character
                        boolean        Boolean

Integer類的概述和構造方法:

         Integer類概述:
                     通過JDK提供的API,檢視Integer類的說明Integer 類在物件中包裝了一個基本型別 int 的值,該類提供了多個

                     方法能  在 int 型別和 String 型別之間互相轉換, 還提供了處理 int 型別時非常有用的其他一些常量和方法
        構造方法
                    public Integer(int value);
                    public Integer(String s);

舉例:

package org.westos.Demo1;

public class MyTest {

    public static void main(String[] args) {


        // Java為了我們方便的去操作這些基本資料型別,給我們提供了與之對應的包裝型別
        // byte Byte
        // short Short
        // int Integer
        // long Long
        // float Float
        // double Double
        // char Character
        // boolean Boolean

        // Integer

        // static int MAX_VALUE
        // 值為 231-1 的常量,它表示 int 型別能夠表示的最大值。
        // static int MIN_VALUE
        // 值為 -231 的常量,它表示 int 型別能夠表示的最小值。

        // Integer中的靜態常量
        int maxValue = Integer.MAX_VALUE;
        int minValue = Integer.MIN_VALUE;
        System.out.println(minValue);
        System.out.println(maxValue);
        // Integer常用的構造方法
        // B:構造方法
        // public Integer(int value)
        // public Integer(String s)
        int num = 100;
        Integer integer = new Integer(num);
        String string = "50";
        Integer integer2 = new Integer(string);

        // A:int -- String
        int a = 100;
        // 方式1
        String s1 = a + "";
        // 方式2
        String of = String.valueOf(a);//將數字轉成字串的數字

        // String------int
        String string2 = "100";
        // 方式1
        Integer integer3 = new Integer(string2);
        int intValue = integer3.intValue();//將一個包裝型別,轉成他所對應的基本資料型別
        System.out.println(intValue + 1);
        //方式2 常用
        int parseInt = Integer.parseInt("50");//將一個字串的數字,轉成一個數字


    }

}package org.westos.Demo1;

public class MyTest {

    public static void main(String[] args) {


        // Java為了我們方便的去操作這些基本資料型別,給我們提供了與之對應的包裝型別
        // byte Byte
        // short Short
        // int Integer
        // long Long
        // float Float
        // double Double
        // char Character
        // boolean Boolean

        // Integer

        // static int MAX_VALUE
        // 值為 231-1 的常量,它表示 int 型別能夠表示的最大值。
        // static int MIN_VALUE
        // 值為 -231 的常量,它表示 int 型別能夠表示的最小值。

        // Integer中的靜態常量
        int maxValue = Integer.MAX_VALUE;
        int minValue = Integer.MIN_VALUE;
        System.out.println(minValue);
        System.out.println(maxValue);
        // Integer常用的構造方法
        // B:構造方法
        // public Integer(int value)
        // public Integer(String s)
        int num = 100;
        Integer integer = new Integer(num);
        String string = "50";
        Integer integer2 = new Integer(string);

        // A:int -- String
        int a = 100;
        // 方式1
        String s1 = a + "";
        // 方式2
        String of = String.valueOf(a);//將數字轉成字串的數字

        // String------int
        String string2 = "100";
        // 方式1
        Integer integer3 = new Integer(string2);
        int intValue = integer3.intValue();//將一個包裝型別,轉成他所對應的基本資料型別
        System.out.println(intValue + 1);
        //方式2 常用
        int parseInt = Integer.parseInt("50");//將一個字串的數字,轉成一個數字


    }

}

二:  String和int型別的相互轉換:

       String -----int    

                       1.String-----Integer----int       

                                     String s = “123456”;

                                      Integer i = new Integer(s);

                                      Int a = i.intValue();  //intValue() 以int型別返回該Integer的值

                      2.通過Integer中的parseInt()方法

                                      String s = “123456”;

                                      Int a = Integer.parseInt(s);

     Int-----String

                       1 通過與空字串拼接

                                     Int i =123456

                                     String s= “”;

                                     String s1 = i+s;

                       2 通過String類中的valueOf()方法

                                     Int i =123456

                                    String s =new String()

                                    String s1 = s.valueOf(i);

                       3 通過Integer中的toString(int i)方法

(int i) :  返回一個表示指定整數的 String 物件。

                                     Int i = 123456

                                     String s = Integer.toString(i);

                        4 先將基本型別轉換為包裝型別在通過包裝型別呼叫toString()方法

                                     Int a = 123456

                                     Integer i = new Integer(a);

                                     String s =i.toString();

三:  JDK5的新特性自動裝箱和拆箱:

                JDK5的新特性:
                             自動裝箱:把基本型別轉換為包裝類型別         Integer ii = 100;
                             自動拆箱:把包裝類型別轉換為基本型別         ii += 200;

                 注意事項:
                             在使用時,Integer  x = null;程式碼就會出現NullPointerException。
                             建議先判斷是否為null,然後再使用。

自動裝箱和拆箱舉例:

package org.westos.demo;

public class MyTest2 {

	public static void main(String[] args) {
		// 在JDK1.5 有一個新特性叫自動拆裝箱
		// 自動裝箱:把基本資料型別自動轉成對應的包裝型別
		// 自動拆箱:把包裝型別自動轉成他對應的基本資料型別

		Integer ii = 100;// 自動裝箱
		ii += 200;// 自動拆箱,自動裝箱
		System.out.println(ii);

		// 手動拆裝箱
		int a = 10;
		Integer valueOf = Integer.valueOf(a);// 手動裝箱
		int intValue = valueOf.intValue();// 手動拆箱
		int b = 30 + intValue;

		Integer num = 500;
		Integer[] arr = { 2, 6, 8 };
		int sum = arr[0] + 10;
		Integer[] arr2 = { Integer.valueOf(2), Integer.valueOf(20) };

	}

}