Зачем нужны data class-ы в Kotlin? Чем отличаются от обычных классов?

Ответ: Чаще всего(!) нужны для уменьшения бойлерплейт кода при создании классов, которые будут использоваться для хранения данных. Внимание: именно «чаще всего», а не «только для» =)

Автоматическая генерация методов equals(), hashCode(), toString() и copy() избавляет от необходимости вручную писать бойлерплейт код, что позволяет сосредоточиться на логике приложения.

Также, их используют когда нужно сделать копирование объекта. Используя переопределенный copy().

Плюс их использование полезно в тех случаях, когда нам нужны коллекции, которые требуют сравнения, например, HashMap или Set.

Data class-ы надо использовать только тогда когда это необходимо!


Опубликовано

в

от

Метки: