類型本來有:簡單類型和複雜類型,引入泛型後把複雜類型分的更細了;
現在List<Object>, List<String>是<code>兩種不同的類型</code>;且<code>無繼承</code>關系;
泛型的好處如:
開始版本
泛型版本
簡便了代碼
1.定義在類後面
緊跟<code>類名</code>後面
定義泛型 T, S, 且S 繼承 T
2.定義在方法<code>裝飾符</code>後面
緊跟<code>修飾符</code>後面(public)
1.執行個體化<code>定義在類</code>上的泛型
第一聲明<code>類變量</code>或者<code>執行個體化時</code>。例如
第二<code>繼承類</code>或者<code>實作接口</code>時。例如
2.執行個體化<code>定義方法</code>上的泛型<br/>
當調用範型方法時,編譯器自動對<code>類型參數(泛型)</code>進行指派,當不能成功指派時報編譯錯誤
上面有泛型的<code>定義</code>和<code>指派</code>;當在<code>指派</code>的時候,上面一節說指派的都是為<code>具體類型</code>,當指派的類型<code>不确定</code>的時候,我們用<code>通配符(?)</code>代替了:
如
在Java集合架構中,對于參數值是<code>未知類型</code>的容器類,<code>隻能</code>讀取其中元素,<code>不能</code>向其中添加元素, 因為,其類型是未知,是以編譯器無法識别添加元素的類型和容器的類型是否相容,唯一的例外是NULL