我希望在给定个人订单的情况下对List/Set
Class
进行排序(例如A.class
< B.class
< C.class
。但是Class
没有实现Comparable
,我显然无法在不重写整个Java语言的情况下自定义类Class
,那么我的选择是什么?
非常感谢!
答案 0 :(得分:0)
您可以使用自定义比较器。只需实现该接口,您就可以将它与Collections.sort()和有序集合一起使用(将比较器作为构造函数传递)
Comparator<Class<?>> c=new Comparator<Class<?>>{
@Override
int compare(Class<?> a, Class<?> b) {
// your comparison logic
}
};
List<Class<?>> list= ...
Collections.sort(list, c);
Set<Class<?>> set=new TreeSet<>(c);