在java中有八種基本數(shù)據(jù)類型對應(yīng)每種基本類型又有八種包裝類型:
基本類型:boolean迷殿, char, int咖杂, byte庆寺,short,long翰苫, float,double
包裝器類型:Boolean,Character奏窑,Integer导披,Byte,Short埃唯,Long撩匕,F(xiàn)loat,Double
從上面我們可以看到除了 char和int其它的包裝類型名稱和對應(yīng)的基本類型一樣只是首字母大寫了墨叛。
在某些場合不能使用基本類型必須使用包裝類止毕,比如集合能接收的類型為Object,基本類型是無法添加進(jìn)去的,還有泛型也必須使用包裝類漠趁。
另外假設(shè)我們要定義一個變量表示分?jǐn)?shù) 如果用基本類型表示的話:int score;
默認(rèn)值為零扁凛,如果我想表示分?jǐn)?shù)為空也就是沒有參加考試就沒法表現(xiàn)了因為值類型是無法賦空值的,如果使用包裝類型Integer score,就可以表示這種情況闯传,因為Integer的默認(rèn)值為空谨朝。
包裝類型是引用類型,說白了就是一個類甥绿,既然是類字币,里面可以有屬性和方法,它里面有哪些屬性和方法呢共缕?每個包裝類型和基本數(shù)據(jù)類型都是大同小異的洗出,我們拿Integer 和 int來舉例說明:
假設(shè)有這樣一個場景,我接收到一個String型的數(shù)據(jù)想把它轉(zhuǎn)換為整型图谷,如果沒有包裝類這個操作是無法完成的翩活,有了包裝類我們可以這樣做:
String num1 = "123";
int num2 = Integer.parseInt(num1);
parseInt就是Integer包裝類提供的一個將字符串轉(zhuǎn)成int型的方法。
為什么會有包裝類蜓萄?
1.包裝類里面有一些很有用的方法和屬性隅茎,如HashCode,ParseInt
2.基本類型不能賦null值,某些場合需要嫉沽。
3.有些地方不能直接用基本類型辟犀,比如集合.
什么時候用包裝類,什么時候用基本類型绸硕?
1.在pojo類中定義的屬性用包裝類
2.在rpc方法中定義參數(shù)和返回值的類型用包裝類
3.定義局部變量用基本類型