Java, ile karşılaştırması yapmanın çoklu/alternatif yöntemlerine izin vermek için, sınıfın dışındaki nesnelerin karşılaştırmasını sağlamak amacıyla Comparator<T>
'a sahiptir.Java: Eşdeğerliği belirlemek için harici sınıf?
Ama sırasız karşılaştırmaları yapmanın tek standart yol bir sınıf içinde equals()
geçersiz etmektir.
Bir sınıfa harici çoklu/alternatif sırasız karşılaştırmalar sağlamak istediğimde ne yapmalıyım? (Bariz bir kullanım durumu belli özelliklerine göre denklik sınıflara koleksiyonu bölünmesi edilir.)
son kullanım varsayarsak sadece denetler Comparator<T>
uygulamak hiç sorun yok, (örn değil sıralama veya indeksleme için) sırasız denetimi içindir Eşitlik, iki nesne eşitse 0, ve iki nesne eşitsizken bir değer! orada olmalıydım gibi: (not. Bu çözüm üzerinde atlamayın tek nedeni, teknik olarak geçişlilik ve simetri karşılayan bir ilişki sağlayarak değil Comparator
fesih olmamasıdır)
görünüyor Bir EqualsComparator<T>
standart sınıf veya bir şey.