Чем == и === отличается от equals/hashCode и когда что выбрать?
Что хотят услышать интервьюеры:
Сравнение: == и === нужно оценивать относительно equals/hashCode по критериям lifecycle, читаемости, тестируемости, производительности и поддержки.
Ответ:
Когда выбирать == и ===: когда его свойства прямо соответствуют задаче: == вызывает equals, а === проверяет identity; это важно для data class, state comparison и tests.
На собеседовании: не говорите «это современнее»; объясните trade-off, ограничения и возможные ошибки. Типичный анти-паттерн: отвечать как на Java-собеседовании и не объяснять nullable-типы, immutability, data class, sealed-состояния и scope functions.
if (a == b) println("same value")