上后谈爱情

导航

 

1.解决元素存储的安全类型2.获取元素需要强制转换

集合时候没有使用泛型任何元素类型加入集合中,强制转换时候有可能报错

解决:限制集合的类型,不允许其他类型加入集合,在集合怎么使用泛型 List<>源码使用泛型进行编程

List<Integer> list=new ArrayList<Integer>();

 

 


泛型使用:

     1.集合中使用泛型  2.自定义泛型类,泛型接口和泛型的方法

     3.泛型与继承的关系4,通配符

自定义泛型类 没有实例化默认的是Object类型

泛型方法:对象调用泛型方法指明泛型的方法

1 // 泛型方法: 不同于T类型,处理其他类型
2 public <E> E getE(E e)
3 {
4       return e;
5 }
1 public <E> List<E> formArrayToList(E[] e,List<E>list)
2     {
3         for(E e1:e)
4             list.add(e1);
5         return list;
6         
7     }

 

泛型与继承的关系:

 如果类A是类B的子类,那么List<A>不是List<B>的子类


 

通配符:解决List<A>,List <B>都是List<?>的子类

   ?extends A:存放 A即其子类   ;?super A存放A和其父类

 对于通配符的使用:

   可以读取声明为通配符的集合类的对象--读取认为其是Object类型,不能够写入

3.泛型的核心思想:把集合中的内容限制为一个特定类型,就是泛型的核心思想:

    1.静态方法中不能使用泛型

     2.不能在catch使用

     3.泛型类是一个接口或者抽象类,不能够实例化泛型类的对象

      4.泛型的子类必须要具体化 JDBCIm extends DAO<Customer> :泛型的子类必须具体化

posted on 2017-04-27 09:20  上后谈爱情  阅读(190)  评论(0编辑  收藏  举报