“ E”,“ T”和“ E”有什么区别?Java泛型?

我遇到了像这样的Java代码:

public interface Foo<E> {}

public interface Bar<T> {}

public interface Zar<?> {}

以上三种之间的区别是什么?它们在Java中如何称呼这种类型的类或接口声明?

回答:

好吧,前两个没有什么区别-它们只是为 type参数ET)使用了不同的名称。

第三个不是有效的声明- ?用作提供类型实 时使用的 通配符 ,例如,意味着引用某种类型的列表,但我们不知道是什么。 __List<?>

foo = ...``foo

所有这些都是 泛型 ,这是一个很大的话题。您可能希望通过以下资源了解它,尽管当然还有更多可用的方法:

  • Java泛型教程
  • 泛型语言指南
  • Java编程语言中的泛型
  • Angelika Langer的Java泛型常见问题解答(详细而全面;不过更多参考)

以上是 “ E”,“ T”和“ E”有什么区别?Java泛型? 的全部内容, 来源链接: utcz.com/qa/420413.html

回到顶部