
通配符wildcard字元'?'在使用上配合extends(配合class)或是implements(配合 interface)
可以用來控制輸入的類型(Upper Bounded Wildcards)
像是
<? extends Number> 就是限制輸入的型態必須要是Number的子類別才可以
另一種就是不限制讓輸入的類型可以是任意種類(Unbounded Wildcards)
RX1226 發表在 痞客邦 留言(0) 人氣(802)

泛型中的物件關係
舉例說明如下
Number是Integer的supertypes
但是Box<Number>不是Box<Integer>的supertypes
因為Box<Number>和Box<Integer>是獨立的物件
但如果type argument相同的話
物件就可以有上下關係
RX1226 發表在 痞客邦 留言(0) 人氣(30)

當你的需要輸入不同類型的參數, 而不需要在使用時轉型
就該使用泛型Generics
原本如果使用Object來控制物件的輸入類型
則會發生輸入類型前後不一致導致runtime error的狀況
改用泛型則可以控制或限定輸入類型
RX1226 發表在 痞客邦 留言(0) 人氣(780)