泛型的使用
* 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
原文地址:http://blog.csdn.net/sd_tz_wzg/article/details/39893801