泛型的使用




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

原文地址:https://www.cnblogs.com/jhcelue/p/6852502.html