Java中泛型、类型和通配符之间的差异

Java中泛型、类型和通配符之间的差异,java,generics,Java,Generics,我的问题不在于术语的使用,而在于术语的使用。简单地说,谁是泛型、类型、通配符 List<T> List<Integer> List<? extends Number> 列表 列表 ListOracle教程是一个很好的信息来源,如: 公共接口列表{ 无效添加(E x); 迭代器迭代器(); } 这些是接口列表和迭代器的形式类型参数的声明 但当然,最终的答案可以在中找到,比如: 如果类声明了一个或多个类型变量,则该类是泛型的 或更进一步: 如果方法声明一个或

我的问题不在于术语的使用,而在于术语的使用。简单地说,谁是泛型、类型、通配符

List<T> 
List<Integer>
List<? extends Number>
列表
列表

ListOracle教程是一个很好的信息来源,如:

公共接口列表{
无效添加(E x);
迭代器迭代器();
}
这些是接口列表和迭代器的形式类型参数的声明

但当然,最终的答案可以在中找到,比如:

如果类声明了一个或多个类型变量,则该类是泛型的

或更进一步:

如果方法声明一个或多个类型变量,则该方法是泛型的

换句话说:要真正理解术语,请开始阅读JLS第8.1.2节和第8.4.4节


除此之外:一个更具可读性但更深入的介绍是FAQ by.

所有三个代表通用,T代表它可以是任何类型,以及?在这里表示该列表应为某种类型的数字,并为超级快速接受存储!
public interface List <E> {
  void add(E x);
  Iterator<E> iterator();
}