一、为什么要有泛型

  1. 保证数据类型安全 如某个集合中保存金额 保证该集合中不会出现指定泛型之外的数据

二、自定义泛型

  1. 类后方使用
  2. <>中使用大写字母 通常为 T、E、K、V
  3. 泛型中存在多个时 使用,分割 例:Map
  4. 静态方法中不能使用泛型
  5. 异常类不能使用泛型

三、泛型方法

  1. 方法中出现的泛型结构、泛型参数与类的泛型参数没有任何关系
  2. 泛型方法可以声明为静态方法 ```java public List copy(E[] arr){

    1. return Arrays.asList(arr);

    }

```

四、通配符?

例: list<?> list