Все квизы
Хеширование, расширения и ленивые вычисления
Проведи ревью небольших программ на Kotlin. Найди нестабильный hash-ключ, ошибочное ожидание полиморфизма от extension-функции, повторное вычисление Sequence и нелокальный выход из inline-лямбды.
Код-ревью
После изменения id выражение user in users печатает false, хотя в HashSet лежит тот же объект. Идентификатор входит в равенство модели, а обновлённую версию нужно создавать отдельно. Как сохранить корректность множества?
data class User(var id: Int, val name: String)
fun main() {
val user = User(1, "Ada")
val users = hashSetOf(user)
user.id = 2
println(user in users)
}