Java基礎:一、容器(9)

  • 2020 年 3 月 17 日
  • 筆記

容器

創建一種對象類型。這種新的對象類型持有其他對象的應用。這個通常通常被稱為容器

Java中具有滿足不同需要的各種類型的容器,List(用於存儲序列),Map(用來建立對象之間的關聯),Set(每中對象類型只持有一個),以及諸如隊列、樹、堆棧等更多的構件

泛型

前提

在JavaSE5之前,容器存儲的對象都只具有Java中的通用類型:Object,由於只能存儲object類型,所以當將對象引用置入容器時,必須被向上轉型為Object,因此會丟失其身份,當把它取回時,就獲取了一個對Object對象的引用,而不是對置入時那個類型的對象的引用。所以怎樣才能將它變回先前置入容器中時的具有實用介面的對象呢?

這裡要用到向下轉型為更具體的類型,這種轉型方式是向下轉型。我們知道,向上轉型是安全的,然而向下轉型是不安全的,如果向下轉型為錯誤的類型,就會得到被稱為異常的運行時錯誤。

參數化類型機制

創建容器時,就確定要容器要保存的對象的類型,從而不需要向下轉型以及消除犯錯誤的可能。這種解決方案被稱為參數化類型機制。一對尖括弧,中間包含類型資訊,通過這些特徵就可以識別對泛型的使用

ArrayList<Shape> shapes = new ArrayList<Shape>();