2012-02-29 28 views

回答

0

- 當聲明比較比較的另一個對象(參數)

10

什麼是宣佈在比較這種方法的目的是什麼?

我認爲這是它強調設計師的方式Comparator.equals()強加實現該接口的任何類的一些additional requirements

此外,該方法可以返回true僅當指定的對象也是一個比較器,並且它與這個比較器具有相同的順序。因此,comp1.equals(comp2)意味着對於每個對象參考o1o2sgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))

該方法可用於確定兩個不同的比較器是否強加相同的順序。

4

根據JavaDoc

需要注意的是總是安全覆蓋的Object.Equals(對象)。 但是,在某些情況下,通過允許程序確定兩個不同的 比較器施加相同的順序,覆蓋此方法可能會提高性能。

這個想法只是爲了能夠讓您不會對已經被另一個比較器排序的集合進行排序,如果您意識到最終結果將是相同的。

通常它沒有什麼用處,但是當排序非常大的集合時,這是你可能想要研究的東西。

0

它只是Object的equals方法的一個覆蓋形式,讓您知道兩個對象是否具有相同的比較器類型。

5

我認爲主要原因是要說清楚equals方法是測試Comparator本身。當你考慮這一點時,這是顯而易見的,但是我可以想象有些人可能期望equals(Object)(以某種方式)在語義上與compare(T, T)方法相關。

它還允許將兩個比較器視爲相同時的一些常識指南的文檔。

無論哪種方式,出於文檔目的,接口中equals(Object)方法的存在僅爲

-2

根據你的問題,我認爲它是用來比較對象在字符串轉換後。 對象類eqlas方法chek既對象是否eqls和競爭對象方法chek對象數據如Hello.eqlas(「你好」)

相關問題