我正在根据Generic Comparator上显示的示例构建一个用作通用比较器的 java 类。我为比较器构建的构造函数如下:
public GenericComparator(java.lang.reflect.Field sortField, boolean ascending){
.... }
虽然上面的构造函数允许我获取排序字段,但编译器无法知道该字段是否正在实现Comparable
接口,并且调用构造函数的开发人员可能会传递一个未实现Comparable
接口的字段。
我想知道是否有办法使它成为编译时错误,而不是在运行时使用 instanceof 检查来处理它,以确保该字段已实现接口。
Collections.sort(...)
在Type 声明中找到了类似的实现。
public static <T extends Comparable<? super T>> void sort(List<T> list) {
...
}