Wrapper類別是java.lang函式庫中的一個重要類別。包裝類別物件為原始資料類型建立包裝器。建立包裝類別的物件時,會在儲存原始資料類型的記憶體中建立空間。包裝類別提供了一些用於將物件轉換為原始資料以及將原始資料轉換為物件的功能,即裝箱/拆箱。從物件到原始資料以及原始資料到物件的轉換是自動發生的。原始資料型態是指int、float、char、double、byte等
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
文法:
下面給出的聲明顯示了 Wrapper 類別如何在 java 程式中運作。
範例:
int i = 100;
在下面給出的範例中,我們可以看到 i 是整數資料型別。有時在java中整數需要作為物件類型傳遞。在這種情況下,我們可以使用包裝類別將整數轉換為物件。
代碼:
Integer intVal = new Integer(i);
在上面給出的語法中,我們可以看到如何使用 Integer 類別物件將原始資料類型轉換為物件。另外,我們可以說原始資料類型被包裝為物件。
下面給了一些包裝類別的用法:
在JavaAPI的基礎上,Wrapper類別層次結構將Object保持在不同原始類別的頂部。數字、字元和布林值位於物件之後的第二層。 Byte、Short、Int、Long、Float、Double 屬於第三級 Number 資料型別。
包裝類別使用以下兩種機制自動裝箱和拆箱,用於資料類型的轉換/包裝或將物件轉換為原始資料類型。
以下是 Java 中包裝類別的不同範例:
在下面給出的範例中,我們可以看到如何透過包裝類別從 int i 手動轉換為物件 k。
代碼:
import java.util.*; class WrapperExample { public static void main(String args[]){ int j=100; //converting int j to integer k as an object Integer k = new Integer(j); System.out.println(j + "\n" + k); } }
輸出:
在上面給出的範例中,我們可以看到轉換是如何明確進行的。
在下面給出的範例中,我們可以看到此轉換過程有時會自動發生,即稱為自動裝箱。
代碼:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ int j = 500; ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(j); // autoboxing takes place implicitly System.out.println(arrValues.get(0)); } }
輸出:
在上面給出的範例中,int 值會作為物件隱式轉換為物件。另外,這個值可以從ArrayList中取得。
在這個例子中,我們將完成拆箱的實作。拆箱是自動裝箱的逆過程。
代碼:
import java.util.*; class AutoboxingUnboxingExample { public static void main(String args[]){ ArrayList<Integer> arrValues = new ArrayList(); arrValues.add(250); //unboxing here as int data type from Integer object int k = arrValues.get(0); //value printed is in primitive data type System.out.println(k); } }
輸出:
在上面給出的範例中,ArrayList 物件欄位被轉換為 k 基本資料類型,即 int k。
The following given example have all the details of Autoboxing & Unboxing.
Code:
import java.util.*; class WrapperConversionExample { public static void main(String args[]){ int i = 15; float j = 9.6f; double k = 120.8; byte l = 1; //creating instance of Integer object Integer iObj = new Integer(i); //creating instance of Float object Float fObj = new Float(j); //creating instance of Double object Double dObj = new Double(k); //creating instance of Double object Byte bObj = new Byte(l); //value printed is in object System.out.println("Value as an Integer object > " + iObj); System.out.println("Value as a Float object > " + fObj); System.out.println("Value as a Double object > " + dObj); System.out.println("Value as a Byte object > " + bObj); //primitive data type from the object int m = iObj; float n = fObj; double o = dObj; byte p = bObj; //value printed is in primitive data type System.out.println("Value as an int primitive type > " + m); System.out.println("Value as a float primitive type > " + n); System.out.println("Value as a double primitive type > "+ o); System.out.println("Value as a byte primitive type > " + p); } }
Output:
In the above-given program, we can see the implementation of Wrapper classes. Wrapper classes are converting the primitive data type to object & object to the primitive data type. The wrapper class provides separate classes for each primitive data type.
Through the Wrapper classes, we can easily understand autoboxing & unboxing how conversion takes place from primitive to object & its vice versa, which can be easily understood through Wrapper classes. For each of the primitive data types, there is a dedicated class in java.
以上是Java 中的包裝類的詳細內容。更多資訊請關注PHP中文網其他相關文章!