圣思园java se培训总结(52-)(泛型)

  1. 泛型:变量类型的参数化
  2. 需要限定一接口的实现类,类的子类是其泛型类型时。例如,T只能用实现了List接口的类型<T extend List>
  3. 如果没有指定泛型类别,会自动用<T extend Object>,所以默认不用的时候,会接收任何java的类型,注:数组也是Object的子类
  4. 有一个自定义泛型类:GenericTest<T>{},现在声明一个引用 GenericTest<? extends List> ge=null;
    这个引用的意思是可以指向一个类型为 GenericTest,泛型类型是List接口体系下的一个实例,可以ge= new GenericTest< ArrayList>;也可以 ge= GenericTest< LinkedList>
  5. 有一个自定义泛型类:GenericTest<T>{},现在声明一个引用 GenericTest<? super List> ge=null;
    这个引用的意思是可以指向一个类型为 GenericTest,泛型类型是List接口体系上的一个实例, ge= GenericTest< Collection> 但是 ge= GenericTest< LinkedList>会报错
  6. 泛型使用中,经常看到 GenericTest<?> ge,其实这是 GenericTest<? extends Object> ge的缩写,意思是泛型类型可以是任何一个java类型
原文地址:https://www.cnblogs.com/yuxishua/p/5069168.html