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

标签 java class generics comparator

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

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

Static后面的“”是什么意思,带问号的Comparator是什么? 我对比较器的了解是,它是一个可以实现的接口(interface),它有两个方法 .compare 和 .equal。

谢谢。

最佳答案

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

Java5 之后,Comparator 接口(interface)中的比较方法现在具有以下签名:

int compare(T o1,T o2)

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

另请参阅类似的 question .

关于java - 这个符号在 Java 中意味着什么? (比较器<?super T> c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29053480/

相关文章:

java - 给予泛型的正确方法是什么?

spring-boot - 接口(interface) Function <out R> 需要一种类型参数

java - 注意 : android. support.v4.app.NotificationCompat Jellybean 调用 'Field.getType'

java - 无法部署 GAE (Google App Engine) 应用程序 (Java SDK)

java - 第 22 行 : No source code is available for type in html libgdx

java - 有没有办法在我的 Java 代码中调用 2 个类?

java泛型: accepting a class or interface

java - 在使用 Maven 进行单元测试期间写入临时文件的正确方法是什么?

c++ - 如何覆盖(重新实现)QFileSystemModel 中的成员函数

node.js - 如何修复 NodeJS 中的 ‘Cannot read property ' 发出“未定义”错误