Java中Generic,Type,wildcard的区别

时间:2017-03-22 10:16:11

标签: java generics

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

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

您也可以添加自己的示例。我了解T将是Type,?通配符,但是什么是通用的,我们在这里使用的是什么Integer

1 个答案:

答案 0 :(得分:1)

一个很好的信息来源是Oracle教程,如here

public interface List <E> {
  void add(E x);
  Iterator<E> iterator();
}

这些是接口List和Iterator的形式类型参数的声明。

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

如果一个类声明了一个或多个类型变量

,则该类是通用的

或者进一步向下:

如果方法声明了一个或多个类型变量

,则该方法是通用的

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

除此之外:Angelika Langer的常见问题解答更具人性化但仍然深入的介绍。