Sobes.tech
Назад к вопросам
Junior — Middle
71

Какое отличие между data class и стандартным классом в языке программирования?

Ответ от нейросети

sobes.tech AI

В языке Kotlin (Android) data class — это специальный класс, предназначенный для хранения данных. Основное отличие от обычного класса в том, что компилятор автоматически генерирует для data class несколько полезных методов:

  • equals() и hashCode() для сравнения объектов по содержимому,
  • toString() с информативным выводом,
  • copy() для создания копий с изменёнными полями,
  • компоненты (component1(), component2() и т.д.) для деструктуризации.

Обычный класс не имеет этих методов по умолчанию, их нужно писать вручную, если требуется.

Пример data class:

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)
println(user1) // User(name=Alice, age=30)

Таким образом, data class удобен для моделей данных, где важна простота и корректное сравнение объектов.