0
我已经创建了自定义比较器,我知道如何使用collections.sort但是我想知道如何使用它只有两个对象。自定义比较器使用单个对象
所以在我的个人类比较代码看起来像这样
//Default comparator by score
@Override
public int compareTo(Person p)
{
return Double.compare(p.score, score);
}
//Custom comparator by name
static Comparator<Person> nameComparator()
{
return (Person o1, Person o2) -> o1.getName().compareToIgnoreCase(o2.getName());
}
要使用默认compartor是不错,但我如何使用自定义的 像这样
//Default
int result = p.compareTo(p4);
//Not sure how to use this one
int result2 = p.compareTo(nameComparator(p4));
p和p4是人对象
谢谢我意识到我遇到的其他问题是我的比较器不公开,所以我无法从课堂以外的地方访问它 –
“所以我无法从课堂以外访问它”您将能够在课堂之外访问它;只是不在包装外面。 –
哦,对,是的,我试图从测试包中访问它,所以我只是公开它。他们有这样的问题吗? –