Java - 泛型 ( Generic )
Java - 泛型 ( Generic )
> 泛型的特点
> 解决元素存储的安全性问题
> 解决获取数据元素时,需要类型强转的问题
> 不能在 static 方法中使用泛型,因为泛型是抽象化的,只有在创建对象时才会确定泛型的类型,而静态方法是编译时生成的
> 泛型的使用
> 在集合中使用泛型
> 自定义泛型类、泛型接口、泛型方法
> 泛型与继承的关系
> 通配符
1、自定义泛型类
public class order<T> {
private String orderName;
private T t;
List<T> list = new ArrayList<T>();
public T getT() { return t; }
public void setT(T t) { this.t = t; }
}
2、泛型与继承的关系
若类A 是类B的子类,那么List<A>就不是List<B> 的子接口
3、通配符 ?
> List<? extends E> // 这里的通配符说明可以存放的数据类型为E或者为E的子类
> List<? super E> // 这里的通配符说明可以存放的数据类型为E或者为E的父类
List<?> list = null;
List<Object> list1 = new ArrayList<Object>();
list = list1;
List<String> list2 = new ArrayList<String>();
list = list2;