使它们都是一种类型的对象。设计一个通用的基类或一个
Interface
然后
用于
Comparator整理它们
例如。
public class SortableFields{ protected long rank; //accessors methods}假设arraylist中的所有对象现在都是SortableFields
现在
Collections.sort(list,new Comparator(){public int compareTo(Object ob1,Object ob){ return ((SortableFild)ob1.getRank())-((SortableFild)ob2.getRank())}});或使用反射技巧, 不可取
Collections.sort(list,new Comparator(){public int compareTo(Object ob1,Object ob){ UtilClass.getRank(ob1)-UtilClass.getRank(ob); }});在您的UtilClass中
public int getRank(Object ob){ Class cl=ob1.getClass(); Method mthd=cl.getMethod("getRank"); Integer output=(Integer)mthd1.invoke(ob); return output;}


