这种符号在Java中意味着什么? (比较器<! - ?super T - > c)

时间:2015-03-14 19:53:39

标签: java class generics comparator

对于我的Java类,我需要使用此函数头创建一个函数体:

public static <T> void sort(T[] a, Comparator<? super T> c)

&#34;&lt; T&GT; &#34;在静态之后意味着什么是带有问号的比较器? 我对比较器的了解是,它是一个可以实现的接口,它有两种方法.compare和.equal。

感谢。

1 个答案:

答案 0 :(得分:2)

Comparator是参数化类型,T是类型参数,您应该查看Java 5 Generics上的一些文档。

Post-java5,Comparator界面中的compare方法现在有了这个签名:

int compare(T o1,T o2)

简化很多,T是Comparator的特定实例能够管理的泛型类型的占位符,在java5之前它应该是一个对象。

另请参阅此类question