關於Java中的Collection

《Java應用技術》課程上,FM老師提到了這樣一個技術細節:

Collection<?> c = new ArrayList<String>();
c.add(new Object()); // fail
c.add("this is a String obeject") // also fail

爲什麼之後再往c裏add一個String類型的對象,也一樣會出錯?

解釋如下:
在Java集合框架中,對於參數值是未知類型的容器類,只能讀取其中元素,不能向其中添加元素, 因爲,其類型是未知,所以編譯器無法識別添加元素的類型和容器的類型是否兼容,唯一的例外是NULL。

在實際應用場景中,通配符與泛型的結合常以這樣的形式出現:GenericType

發佈了21 篇原創文章 · 獲贊 20 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章