【发布时间】:2014-08-30 18:33:25
【问题描述】:
我正在阅读有关泛型的 Effective Java 第 5 章,特别是有关首选泛型方法的项目。我注意到有时在返回类型之前的方法声明中的类型参数(尖括号之间)有时会被省略。这样的例子很多,比如第二版第135页:
public void popAll(Collection<E> dst) {
while (!isEmpty())
dst.add(pop());
}
另一方面,我在声明中看到了类似的泛型方法
public <E> void ...
第一个是错字吗?如果不是,我什么时候可以在声明中省略括号?
谢谢
【问题讨论】:
-
我不知道为什么这被标记为重复。所谓的欺骗是一个完全不同的问题。
-
由于我不能发布一个合法的答案,我会用评论来回答:我相信不同之处在于,在第一种情况下,整个类被声明为泛型,而在第二种情况下,只有方法是通用的。
-
投票也重新开放。我无法从另一个问题中弄清楚。看起来相关,但不重复。
标签: java generics effective-java