gpt4 book ai didi

java - 在定义行之外实现 Comparator 的比较方法

转载 作者:行者123 更新时间:2023-11-29 05:51:57 25 4
gpt4 key购买 nike

一般我定义Comparator作为-

Comparator<Obj> comparator= new Comparator<Obj>() {
public int compare(Obj o1, Obj o2) {
//implementation...
}
};

Comaprator是类(class)成员的一部分,在代码格式上看起来不太好。有没有办法定义 Comparator作为Comparator<Obj> comparator= new Comparator<Obj>()并实现他的 compare在另一个部分?

最佳答案

只需定义一个实现Comparator 接口(interface)的,并在该类中实现compare 方法,使用您的比较逻辑:-

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 - 在定义行之外实现 Comparator 的比较方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com