解釋下ArrayList集合爲啥容許值爲null

ArrayList<Integer> list =new ArrayList<>();算法

list.add(1);jvm

list.add(5);對象

list.add(2);泛型

list.add(null);List

以上面的一段代碼爲例:集合裏規定,泛型裏面只能給的類型是引用的類型,這就是爲啥咱們寫int就會報錯的緣由。可是爲啥容許爲null,由於Interger是一個類,對象的值容許爲空,可是咱們給的是數字呀,也沒有建立對象呀,奧妙之處就在於包裝類有自動裝箱的功能(這句話不太對,是jvm提供了自動裝箱的算法),將數字做爲咱們建立一個Integer對象的構造方法的一個參數。因此ArrayList集合中容許爲空值。引用

相關文章
相關標籤/搜索