Java集合不能存放基本資料型別
阿新 • • 發佈:2018-12-01
Java集合不能存放基本資料型別,只能存放物件的引用。
每個集合元素都是一個引用變數,實際內容都存放在堆內或方法區裡面,
但是基本資料型別是在棧記憶體上分配空間的,棧上的資料隨時會被收回。
如何解決?
可以通過包裝類,把基本資料型別轉化為物件型別,存放引用。
更方便的,由於有了自動拆箱和裝箱功能,基本資料型別和其對應物件
之間的轉換變得很方便,把基本資料型別存入集合中可以自動存,系統
會自動將其裝箱成封裝類,然後將其加入到集合當中。
基本資料型別 | 包裝類 |
byte | Byte |
short | Short |
boolean | Boolean |
char | Charset |
int | Integer |
long | Long |
float | Float |
double | Double |
示例
int i = 10; Integer in = new Integer(i);//手動將i包裝為Integer型別物件 HashSet set = new HashSet();//定義一個Set集合 set.add(in);//將包裝類物件加入該集合 System.out.println(set);//列印結果
同樣的效果(自動包裝)
int i = 10; Integer in = new Integer(i);//手動將i包裝為Integer型別物件 HashSet set = new HashSet();//定義一個Set集合 set.add(in);//將包裝類物件加入該集合 System.out.println(set);//列印結果