1. 程式人生 > >泛型的使用

泛型的使用

null arraylist exce top ext extend 實例 泛型方法 arr

??


泛型的使用
* 1.在集合中使用泛型(掌握)
* 2.自己定義泛型類、泛型接口、泛型方法(理解 --->使用)
* 3.泛型與繼承的關系
* 4.通配符


①.在集合中沒有使用泛型的情況下
1.沒有使用泛型,不論什麽Object及其子類的對象都能夠加入進來
2.強轉時,可能報ClassCastException的異常

②.在集合中使用泛型
規定了集合中僅僅能放置同一類型的類
List<Integer> list = new ArrayList<Integer>();
list.add(78);
list.add(87);
Iterator<Integer> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

③.自己定義泛型類的使用
1.當實例化泛型類的對象時,指明泛型的類型。
指明以後,相應的類中全部使用泛型的位置,都變為實例化中指定的泛型的類型
2.假設我們自己定義了泛型類,可是在實例化時沒有使用,那麽默認類型是Object類的

④泛型與繼承的關系:
若類A是類B的子類,那麽List<A>就不是List<B>的子接口

⑤.通配符 ?
List<A>、List<B>、。

。。

都是List<?>的子類
? extends A :能夠存放A及其子類
? super A:能夠存放A及其父類
⑥.通配符的使用
能夠讀取聲明為通配符的集合類的對象
不同意向聲明為通配符的集合類中寫入對象。唯一例外的是null

泛型的使用