Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpDcDf 69 of 123 menu
◀ ▶

Значения по умолчанию в data class в Kotlin

Параметры первичного конструктора data class могут иметь значение по умолчанию после знака = - правило то же, что для обычного класса в разделе «Значения по умолчанию». При создании объекта такие аргументы можно не передавать:

data class User(val name: String, val active: Boolean = true) fun main() { val a = User("Ann") val b = User("Bob", false) println(a.active) println(b.active) }

Пропущенные параметры нужно оставлять в конце списка или указывать имена явно, иначе компилятор не поймёт, какое поле заполняется:

data class Point(val x: Int = 0, val y: Int = 0) fun main() { val origin = Point() val p = Point(x = 5) println(origin) println(p) }

Значения по умолчанию участвуют в copy, equals и toString так же, как обычные поля. Объект без явно переданного аргумента хранит именно default из объявления:

data class Tag(val code: String, val level: Int = 1) fun main() { val t = Tag("go") println(t.copy(level = 2)) }

Сделайте data class Note с полями text и pinned; для pinned задайте false по умолчанию. Создайте заметку только с текстом "todo" и выведите на экран поле pinned.

Сделайте data class Margin с полями top, right, bottom, left; для всех сторон задайте 8 по умолчанию. Создайте объект с top = 16 и выведите его в консоль.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить