泛型

* A:泛型概述  

    ArrayList<String> list = new ArrayList<>();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");


* B:泛型好处
  * 提高安全性(将运行期的错误转换到编译期)
  * 省去强转的麻烦
* C:泛型基本使用
  * <>中放的必须是引用数据类型
* D:泛型使用注意事项
  * 前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型)

 

方法泛型:

    public<T> void show(T T){

    }

  静态方法的泛型

    public static<T t> void print(){

  }

泛型接口:

  public interface 接口名<泛型类型>

泛型通配符<?>
  * 任意类型,如果没有明确,那么就是Object以及任意的Java类了
  * B:? extends E
    * 向下限定,E及其子类

    addAll()方法 的参数是   addAll(collection<? extends E>)   添加添加 E类型的对象,也可以添加E对象的子类对象
  * C:? super E
    * 向上限定,E及其父类

     TreeSet的构造方法有用到   TreeSet(comparator<? super E>)  Student 类的子类可以用Student 的比较类

     

竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
原文地址:https://www.cnblogs.com/yaobiluo/p/11305747.html