Назад к вопросам
Junior
71
questionbank

Какие переменные могут использоваться в классе данных (data class)?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

В data class могут использоваться:

  • val (read-only property): Свойство инициализируется при создании объекта и не может быть изменено впоследствии. Является частью генерируемых автоматически методов (equals(), hashCode(), toString(), copy()).
  • var (mutable property): Свойство может быть изменено после создания объекта. Также является частью генерируемых методов.
  • Свойства, объявленные в теле класса: Эти свойства не являются частью основных свойств data class и не участвуют в генерации стандартных методов.

Пример:

data class User(
    val id: Int, // read-only, часть основных свойств
    var name: String, // mutable, часть основных свойств
    val creationTime: Long = System.currentTimeMillis() // read-only, с дефолтным значением, часть основных свойств
) {
    val isAdmin: Boolean = false // read-only, не часть основных свойств, не включается в equals/hashCode/toString
}