1. 程式人生 > >java持有對象【2】ArrayList容器續解

java持有對象【2】ArrayList容器續解

對象 符號 向上 ont 轉換 選擇 同時 是什麽 object

此為JDK API1.6.0對ArrayList的解釋。

技術分享

ArrayList

使用java泛型創建類很復雜,但是應用預定義的泛型很簡單。例如,要想定義用來保存Apple對象的ArrayList,可以聲明ArrayList<Apple>,尖括號內為類型參數,(可以為多個)。它指定了容器可以保存的類型。

通過使用泛型,可以在編譯期防止將錯誤類型的對象放置到容器中。

ArrayList向上轉型為List。

應該註意到,在將元素從List中取出時,類型轉換不是必須的了。因為List在調用get()時會替你執行轉型,他知道你保存的是什麽類型。

這樣,通過使用泛型,不僅編譯器會檢查你放置容器中的對象類型,而且在使用容器中的對象時,可以使用更加清晰地語法。同時,可以用foreach來選擇list的每個元素。

引用上個博客的代碼,如果創建多個類繼承Apple()類,例如class Fuji extends Apple(){},然後使用預定義的泛型ArrayList<Apple> apples=new ArrayList<Apple>(); ,使用add()方法添加Apple各子類的對象實例,例如apples.add(new Fuji()); ,然後用foreach方法輸出,得到的結果是類似[email protected] 之類。

解析:程序的輸出是從Object默認的toString()方法產生的。該方法將打印類名,後面跟隨的散列碼的無符號十六進制表示

(這個散列碼是通過hashCode()方法產生的)。

java持有對象【2】ArrayList容器續解