在java中,?,E,T之间的区别是什么

时间:2011-04-03 01:23:21

标签: java

  

可能重复:
  Java Generics

您好,

有人可以解释三者和每种正确用法的区别吗?

谢谢,谷歌搜索,但我仍然对如何使用它们感到困惑。

czetsuya

2 个答案:

答案 0 :(得分:13)

我假设你在谈论泛型。 'E'和'T'是占位符,可以在类定义中互换使用。按照惯例,'E'是元素,'T'是类型。问号是未知类型的占位符。你经常会看到这样的事情:

List<? extends MyObject> x;

这意味着'x'是作为MyObject子类的对象列表,但我们不知道它们究竟是什么。

请参阅:http://docs.oracle.com/javase/tutorial/java/generics/genTypes.html

答案 1 :(得分:5)

E,T,K,V或任何其他通用类型变量只是占位符 - 它们没有任何内在关联。您甚至可以将小写字母用于泛型类型变量,但通常使用单个大写字母。阅读Sun的仿制药tutorial