雖然 Java 語言是典型的面向?qū)ο缶幊陶Z言,但其中的 8 種基本數(shù)據(jù)類型并不支持面向?qū)ο蟮木幊虣C制,基本類型的數(shù)據(jù)不具備“對象”的特性----不攜帶屬性、沒有方法可調(diào)用。
沿用它們只是為了迎合人類根深蒂固的習(xí)慣,并的確能簡單、有效地進行常規(guī)數(shù)據(jù)處理。
這種借助于非面向?qū)ο蠹夹g(shù)的做法有時也會帶來不便,比如引用類型數(shù)據(jù)均繼承了Object 類的特性,要轉(zhuǎn)換為 String 類型(經(jīng)常有這種需要)時只要簡單調(diào)用 Object 類中定義
的 toString()即可,而基本數(shù)據(jù)類型轉(zhuǎn)換為 String 類型則要麻煩得多。為解決此類問題,Java語言引入了封裝類的概念,在 JDK 中針對各種基本數(shù)據(jù)類型分別定義相應(yīng)的引用類型,并稱之為包裝類(Wrapper Classes) 。
下表描述了基本數(shù)據(jù)類型及對應(yīng)的包裝類
基本數(shù)據(jù)類型
對應(yīng)的包裝類
boolean
Boolean
byte
Byte
short
Short
int
Integer
long
Long
char
Character
float
Float
double
Double
每個包裝類的對象可以封裝一個相應(yīng)的基本類型的數(shù)據(jù),并提供了其它一些有用的功能。包裝類對象一經(jīng)創(chuàng)建,其內(nèi)容(所封裝的基本類型數(shù)據(jù)值)不可改變。
例,包裝類用法程序:Wrapper.java
public class Wrapper{
public static void main(String args[]){
int i = 500;
Integer t = new Integer(i);
int j = t.intValue();
// j = 500
String s = t.toString(); // s = "500"
System.out.println(t);
Integer t1 = new Integer(500);
System.out.println(t.equals(t1));
}
}
程序運行結(jié)果為:
500
true
包裝類一個常用的功能就是把字符串類型的數(shù)據(jù)造型成為對應(yīng)的基本數(shù)據(jù)類型,如下示例:
String str = "123";
int a = Integer.parseInt(str);
更過的功能還請查看 JDK 文檔。