接下來看看Collection組。
TypedCollection
CollectionUtils
首先就是這個TypedCollection,它實際上的作用就是提供一個decorate方法,我們傳進去一個Collection和需要的類型甄別信息java.lang.Class,它給我們創建一個全新的強類型的Collection。我們其實在bag、buffer、list、map、set這些子包中都可以找到分別對應Bag、Buffer、List、Map、Set接口的TypedXxxx版本。
方法簽名:
public static Collection decorate(Collection coll, Class type)
當它執行時,它會判斷coll是否為null,同時如果coll包含數據,它會對數據進行驗證,看是否滿足指定的type條件。最后它返回一個強類型的Collection,當我們對這個強類型的Collection進行add操作時,它會幫我們確保添加的是正確的類型。
而這個CollectionUtils可能大家都已經想到了,就是提供一組針對Collection操作的工具/靜態方法。比較有意思的是對Collection的轉型、合并、減等操作。
由于這兩個類的功能和作用都比較清晰,我就不舉例說明了,需要進一步了解的請看Javadoc。