Your Site Title

Java Generics

约定使用单字符当类型参数的名称: E — Element (used extensively by the Java Collections Framework) K — Key N — Number T — Type V — Value S,U,V etc. — 2nd, 3rd, 4th types

T (Type) 具体的Java类 E (Element)在集合中使用,因为集合中存放的是元素 K V (key value) 分别代表java键值中的Key Value N (Number)数值类型 ? 表示不确定的 Java 类型

为什么使用泛型

注意事项

Multiple Bounds

// 是Number子类 并且实现Comparable接口
public static <T extends Number & Comparable<? super T>> int compareNumbers(T t1, T t2){return t1.compareTo(t2);}

Wildcards

PESC

PECS原则:生产者(Producer)使用extends,消费者(Consumer)使用super。

Reference

Java Generics
Java Generics Explained
Restrictions on Generics
Java: Producer Extends, Consumer Super
Bounded Types with Generics in Java
Java 泛型中的通配符