Код: Выделить всё
record SingleIndexProperties(A property) implements IndexProperties {
// Here go implementations of IndexProperties methods; not relevant to question.
}

Это всего лишь отрывок из гораздо более масштабного графика протестированного кода. Интересно то, что по какой-то причине метод записи по умолчанию равный(), кажется, выполняет некоторые динамические вызовы.
Наивно, я бы ожидал, что метод будет делать что-то вроде этого:
Код: Выделить всё
public boolean equals(Object o) {
if (o instanceof SingleIndexProperties other) {
return Objects.equals(property, other.property);
}
return false;
}
(У меня OpenJDK Temurin-21.0.1+12. Пара вы видите, что в графе пламени это то, что помещается в запись, и оно само по себе является записью, чья функция Equals() демонстрирует такое же поведение по умолчанию. Затем внутри Pair есть Integerс.)
Подробнее здесь: https://stackoverflow.com/questions/775 ... r-the-hood
Мобильная версия