Если объект имеет не согласующиеся реализации compareTo() и equals(), т.е. если первая может вернуть 0 для объектов, для которых equals вернет false, использовать такие объекты в TreeSet нельзя (т.е. вобщем-то можно, но чревато неожиданным поведением). Дело в том, что TreeSet, на что обращено внимание в документации, для определения эквивалентности объектов при добавлении использует не equals(), а compareTo(), поэтому в набор нельзя будет добавить 2 объекта, которые неидентичны с точки зрения equals(), но возвращают 0 при сравнении с помощью compareTo().
Комментариев нет:
Отправить комментарий