Data class в Kotlin — это класс, отмеченный ключевым словом data, предназначенный прежде всего для хранения и представления данных. Он уменьшает количество шаблонного кода благодаря тому, что компилятор автоматически генерирует стандартные методы на основе свойств, объявленных в основном конструкторе.
Компилятор автоматически создаёт следующие методы:
equals() — сравнивает экземпляры по значениям свойств, а не по ссылкеhashCode() — согласован с equals() для использования в коллекцияхtoString() — возвращает читаемую строку с названием класса и его свойствамиcopy() — создаёт новый экземпляр, опционально переопределяя отдельные свойстваcomponentN() — включает деструктуризацию (например, val (name, age) = person)Чтобы определить корректный data class, должны быть соблюдены следующие правила:
val или varabstract, open, sealed или innerdata class User(val name: String, val age: Int)
val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
val (name, age) = user1 // деструктуризация
Data classes лучше всего подходят для простых объектов-моделей вроде API-ответов или сущностей базы данных, где важны равенство по значению и удобное копирование. Они помогают держать код чистым и лаконичным без потери функциональности.
Data классы в Kotlin автоматически генерируют метод equals(), который сравнивает экземпляры на основе значений их свойств, а не на основе идентичности ссылки на объект.
Новый — ещё не проверен сообществом
Вы