Java 中的包裝類:它是什麼,我們為什麼需要它?
已發表: 2021-12-23Java 致力於 OOP(面向對象編程)的概念。 儘管如此,Java 不能被視為一種完整的面向對象語言。 這是因為 Java 使用八種原始數據類型——byte、short、int、float、long 和 double。 這些 Java 數據類型不是對象,這使得 Java 不是完全面向對象的。
但是,包裝類通過將原始數據類型轉換為對象,提供了一種繞過該限制的好方法。 這樣,包裝類使 Java 代碼完全面向對象。
對於從 Java 編程語言開始的每個人來說,這是最重要的概念之一。 讓我們通過這篇文章來幫助你。 首先,我們將了解 Java 中的包裝類以及我們為什麼需要它們以及它們的優點。 在本文的結尾,您將能夠使用包裝類而不會感到困惑!
從世界頂級大學學習在線軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
目錄
Java中的包裝類
軟件開發人員經常偶然發現需要他們不使用原始數據類型而是使用對象的情況。 為了實現這種原始數據類型到對象的轉換,Java 為程序員提供了包裝類的概念。 此類有助於從原始數據類型到對像以及從對像到原始數據類型的轉換。
創建包裝類會自動創建一個存儲原始數據類型的新字段。 包裝類的對象然後保存原始數據類型。 這種使用包裝類將原始數據類型轉換為對象的過程稱為裝箱。 在使用包裝類時,您需要將原始數據類型的值傳遞給包裝類的構造函數。
六個包裝類——byte、short、int、float、long 和 double——都是數字類的子類,數字類是一個抽像類。 剩下的兩個包裝類——布爾和字符——是對像類的子類。
以下是不同原始數據類型的包裝類的快速摘要,以及創建包裝類所需的構造函數參數:
為什麼需要 Java 中的包裝類?
Java 中的包裝類適用於程序需要使用對象而不是原始數據類型的情況。 從這個意義上說,包裝類幫助 Java 程序 100% 面向對象。 除此之外,由於以下原因,需要 Java 中的包裝類:
- 將不同原始數據類型的值綁定到對像中。 這有助於執行複雜的操作並使用 HashMap、ArrayList 等集合。
- 提供可用於原始數據類型的不同實用功能。
- 由於原始數據類型不能被賦予空值,但包裝類可以,它們也可以作為將空值分配給任何原始數據類型的解決方法。
在 Java 中使用包裝類有什麼好處?
Java 中的包裝類提供以下主要好處:
- 它們幫助代碼可序列化。 這是因為序列化需要將對象轉換為流。 如果程序員想要序列化一個原始值,必須首先使用包裝類將其轉換為對象。
- 它們有助於同步,因為 Java 中的多線程同步需要對象。
- 原始數據可以從 Java.util 包的各種 util 類中受益。
- 使用包裝類可以使用集合框架。
- 將原始數據類型轉換為對象可以使用按值調用方法更改函數內部的值。
- Java 中的包裝類確保程序是多態的。
例子
1.將原始類型轉換為對象
公共類示例{
公共靜態無效主要(字符串參數[]){
//將浮點原語轉換為浮點對象
浮動 n=10.10;
浮點 obj=Float.valueOf(n);
System.out.println(n+ ” “+ obj);
}
}
輸出:
10.10 10.10
如輸出所示,原始數據和對像都具有相同的值。 因此,您可以根據情況使用 obj 或 n 訪問相同的值,無論您喜歡什麼。
2. 將對象轉換為原始類型
公共類示例{
公共靜態無效主要(字符串參數[]){
//創建包裝對象
浮動 o= 新浮動(50.00);
//將對象轉換為原始對象
浮動 n= obj.floatValue();
System.out.println(n+ ” “+ o);
}
}
輸出:
50.00 50.00
在上面的示例中,浮點對像已轉換回浮點原始數據類型。 同樣,您可以使用 Java 中的包裝類進行大量轉換和操作。 包裝類可以使用不同的函數。 該討論超出了本文的範圍,但我們建議您深入探索包裝類,以及處理包裝類時需要使用的不同函數。
綜上所述
與包裝類一樣,您還需要掌握許多其他基本概念和想法才能在軟件開發中脫穎而出。 在 upGrad,我們為全球各地的學生提供了指導,並幫助他們在自己想要的領域開始了自己的職業生涯。 我們的個性化培訓課程和專家主導的案例研究討論可幫助學生掌握所有獲得的概念。
為了幫助學生開始他們的軟件開發生涯,我們向您展示了一個由專家和行業領導者創建的為期 5 個月的在線計劃——軟件工程中與工作相關的 PG 認證。 除了教您該領域的所有細微差別外,該計劃還將幫助您進入頂級公司。 因此,請查看本課程並立即註冊!
為什麼 Java 中需要包裝類?
包裝類是 Java 的基礎,因為它們幫助 Java 程序完全面向對象。 默認情況下,java 中的原始數據類型不是對象。 它們需要使用包裝類轉換為對象。
Java 中有多少個包裝類可用?
Java 中包裝類的數量與 Java 支持的原始數據類型的數量相同,即 8 個。
Java中的包裝類是可變的嗎?
是的,包裝類是可變的。