Data-классы в Kotlin используются для хранения данных. Компилятор автоматически генерирует для них стандартные методы:
equals(): Сравнивает экземпляры на основе значений их свойств.hashCode(): Генерирует хеш-код на основе значений свойств.toString(): Возвращает строковое представление, включающее имена и значения всех свойств.copy(): Создает копию объекта, при необходимости изменяя значения указанных свойств.componentN(): Методы для деструктуризации (разложения объекта на отдельные свойства).kotlin
Ключевые моменты:
val, либо var.abstract, open, sealed или inner.| Метод | Описание |
|---|---|
equals() | Сравнивает свойства из основного конструктора. |
hashCode() | Генерирует хеш на основе свойств из основного конструктора. |
toString() | Выводит строковое представление свойств из основного конструктора. |
copy() | Создает поверхностную копию с возможностью изменения свойств. |
componentN() | Предоставляет доступ к свойствам по порядку их объявления в конструкторе. |
Data-классы значительно упрощают работу с POJO (Plain Old Java Object) или DTO (Data Transfer Object), уменьшая бойлерплейт-код.