При такой логике это верно, но не должно: Objects.equals((String) null, (Integer) null)
Это имеет практическую причину быть ложным. например, если у меня есть следующая сущность:
Код: Выделить всё
class Person {
Long id;
public boolean equals(Person other) {
...
return Objects.equals(this.id, other.id);
}
public int hashCode() {
...
}
}
Код: Выделить всё
Set
persons = Set.of(new Person(), new Person());
Код: Выделить всё
persons.size() == 1; // this should not be
Подробнее здесь: https://stackoverflow.com/questions/798 ... turn-false
Мобильная версия