泛型的使用
泛型的使用
* 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