通常,我将Comparator
定义为-
Comparator<Obj> comparator= new Comparator<Obj>() {
public int compare(Obj o1, Obj o2) {
//implementation...
}
};
当
Comaprator
是类成员的一部分时,在代码格式上看起来不太好。有什么方法可以将Comparator
定义为Comparator<Obj> comparator= new Comparator<Obj>()
并在另一节中实现他的compare
吗? 最佳答案
只需定义实现class
接口的Comparator
,并使用compare
在该类中实现comparison logic
方法:-
public class ObjComparator implements Comparator<Obj> {
public int compare(Obj o1, Obj o2) {
//implementation
}
}
然后,无论您想使用
Comparator
的哪个位置,都可以使用此类的实例。例如,在Arrays.sort
中:-Obj[] yourArray = new Obj[10];
Arrays.sort(yourArray, new ObjComparator());
关于java - 在定义行之外实现比较器的比较方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13562408/