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是人對象
謝謝我意識到我遇到的其他問題是我的比較器不公開,所以我無法從課堂以外的地方訪問它 –
「所以我無法從課堂以外訪問它」您將能夠在課堂之外訪問它;只是不在包裝外面。 –
哦,對,是的,我試圖從測試包中訪問它,所以我只是公開它。他們有這樣的問題嗎? –