【发布时间】:2015-10-16 17:44:18
【问题描述】:
我对这种语法感到困惑,因为起初它看起来好像函数应该返回<E>,但后来我看到void。 void 之前的<E> 的用途是什么?
另外,我熟悉边界和泛型,但我从未真正见过以这种方式进行边界的东西。这个语法是什么意思Comparator<? super E>?
这是一个示例函数:
private <E> void sort(E[] array, Comparator<? super E> cmp) {
qsort(array, 0, array.length - 1, cmp);
}
【问题讨论】:
-
"
<E>在 void 之前的用途是什么?"它表明它是一种通用方法。 “这个语法是什么意思Comparator<? super E>?”见docs.oracle.com/javase/tutorial/java/generics/lowerBounded.html。 -
@JonSkeet 谢谢,乔恩。该语法是可选的吗?
-
@inquisitor 当你想知道 Java 的某些特性时,比如泛型,只需谷歌搜索“Java
教程”(在本例中为“Java 泛型教程”),然后得到第一个结果通常是正确的。 Java教程包含详细的解释,充满示例。 -
@JBNizet 谢谢你。我最初不确定如何通过谷歌搜索答案,主要是因为它与 sytnax 相关。但你是对的,将来会这样做。
标签: java syntax quicksort bounding