2013-12-20 207 views
9

我明白什麼是包裝類,它們的基本類型(例如:int,double等)到它們各自類的對象(例如:Integer,Double等)。但是,爲什麼我們需要包裝類,爲什麼我們選擇了它們各自類的對象。爲什麼我們需要包裝類

+1

爲什麼你需要一個包? –

+0

@Sivakumar M如果我的答案有幫助,那麼你可以upvote,然後選擇我的答案 – Ashish

+0

除了下面的答案由阿什什,包裝類是有泛型/收集。我們無法創建原始數據類型列表 –

回答

26

Java是一種面向對象的語言,可以將所有東西視爲一個對象。一個簡單的文件可以被當作一個對象,一個系統的地址可以被看作是一個對象,一個圖像可以被看作是一個對象(帶有java.awt.Image),一個簡單的數據類型可以被轉換成一個對象(包裝類)。本教程討論包裝類。包裝類用於將任何數據類型轉換爲對象。

原始數據類型不是對象;他們不屬於任何階級;它們是用語言本身來定義的。有時候,需要將數據類型轉換爲Java語言中的對象。例如,直到JDK1.4,數據結構只接受要存儲的對象。數據類型將被轉換爲對象,然後添加到堆棧或向量等。對於此轉換,設計人員引入了包裝類。

什麼是包裝類?

顧名思義,一個包裝類包裝(包含)在數據類型周圍並給它一個對象外觀。無論何時,數據類型都是必需的,可以使用該對象。包裝類包括解包對象並返回數據類型的方法。它可以與巧克力相比。製造商用巧克力箔或紙包裹巧克力以防止污染。使用者拿走巧克力,取出並拋出包裝並吃掉。

請注意以下轉換。

int k = 100; 
    Integer it1 = new Integer(k); 

int數據類型k使用Integer類轉換爲對象it1。只要需要k對象,it1對象就可以在Java編程中使用。

以下代碼可用於解包(從Integer對象獲取int)對象it1。

int m = it1.intValue(); 
System.out.println(m*m); // prints 10000 

intValue()是返回int數據類型的Integer類的方法。

包裝類的重要性

主要有兩個用途與包裝類。

1)將簡單數據類型轉換爲對象,即將對象形式轉換爲數據類型;這裏使用構造函數。

2)要將字符串轉換爲數據類型(稱爲解析操作),此處使用parseXXX()類型的方法。

Java包裝類的功能。

1)包裝類將數字字符串轉換爲數字值。

2)將原始數據存儲在對象中的方式。

3)的的valueOf()方法是可用的所有包裝類除外字符

4)所有包裝類具有typeValue()方法。該方法返回對象的值作爲其基本類型。

+1

除了上述Ashish的回答,還有包裝類用於泛型/集合。我們不能創建原始數據類型列表 –