gpt4 book ai didi

java - 是否使用compareTo

转载 作者:行者123 更新时间:2023-12-02 07:50:31 24 4
gpt4 key购买 nike

我必须比较自定义类的对象,比如 A。

比较是基于 A 的 int 成员(例如 mem)的简单比较。

所以在比较器实现中,我可以这样做:

(A a1, A a2) -> {return (Integer)a1.getMem().compareTo(a2.getMem());}

或者,我可以自己进行比较:

(A a1, A a2) -> {
if(a1.getMem() > a2.getMem()){
return 1;
}else{
if(a1.getMem() < a2.getMem()) {
return -1;
}else{
return 0
}
}
}

哪一种方法更好?

第一种方法的代码行数要少得多,但内部compareTo 的作用与我们在第二种方法中所做的相同。

最佳答案

通常最好不要重新发明轮子。因此第一种方法更好。

您甚至可以使用 Comparator.comparingInt 编写更少的代码:

Comparator.comparingInt(A::getMem)

关于java - 是否使用compareTo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56096845/

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