Java 泛型
泛型 泛型意味着更好的类型安全性。主要目的是支持类型安全性的集合,让问题尽可能在编译阶段就能捉到。 泛型定义在类声明中 public class ArrayLiat<E> extends AbstractLìst<E> implements List<E> { public boolean add (E o); } E代表用来创建赋予初始ArrayList的类型 ArrayList<String> list = new ArrayList<String>; 编译器会自动把E看做String. 泛型方法 使用未定义在类声明的类型参数: 在返回类型之前指定泛型 maxKey: 返回给定ArrayMap中所有keys的最大值(仅在key可以比较的情况下)。假如这样写public static K maxKey(Map61B<K, V> map) { ... }会报错. 要将方法声明为泛型,必须在返回类型前面指定正式的类型参数 public static <K extends Comparable<K>, V> K maxKey(Map61B<K, V> map) { List<K> keylist = map.keys(); K largest = map.get(0); for (K k: keylist) { if (k.compareTo(largest)) { largest = k; } } return largest; } K extends Comparable<K> 保证了keys必须实现Comparable接口(也是一个generic接口), 并可以与其他K进行比较。 ...