code.google.com/p/guava-libraries/issues/detail?id=576

имеетComparator<T> для обеспечения сравнения объектов, внешних по отношению к самому классу, для обеспечения нескольких / альтернативных методов выполненияупорядоченный сравнения.

Но единственный стандартный способ сделатьнеупорядоченный сравнения переопределитьequals() в класс.

Что мне делать, если я хочу предоставить несколько / альтернативных неупорядоченных сравнений, внешних по отношению к классу? (Очевидный вариант использования - разбиение коллекции на классы эквивалентности на основе определенных свойств.)

Предполагая, что конечное использование предназначено для неупорядоченной проверки (например, не для сортировки или индексации), можно ли реализоватьComparator<T> это просто проверяет равенство, возвращая 0, если два объекта равны, и значение! = 0, если два объекта неравны? (нота: единственная причина, по которой я не использую это решение, заключается в том, что технически оно может нарушить контракт наComparator не предоставляя отношения, которое удовлетворяет транзитивности и симметрии.)

Кажется, должно было бытьEqualsComparator<T> стандартный класс или что-то.

(Гуава обрабатывает что-нибудь подобное?)

Ответы на вопрос(1)

Ваш ответ на вопрос