Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
class A(val x: Int)
data class B(val x: Int)
fun main() {
println(A(1) == A(1))
println(B(1) == B(1))
}false true
- Ждать
true true: считать, что==сравнивает свойства у любого класса. Без своегоequalsобычный класс отвечаетtrueтолько для одного и того же объекта. - Ждать
false false: считать, что==всегда ищет один объект. Data-класс генерируетequals, поэтому==сравнивает свойства, иB(1) == B(1)— этоtrue.
- Что выведет
B(1) === B(1)и почему? - Какие свойства data-класса участвуют в его
equals?