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

Свойства-расширения в Kotlin

Свойство-расширение задают словом val или var перед типом-получателем. Снаружи оно выглядит как поле, но вычисляется при каждом обращении - внутри пишут get с телом:

val String.firstChar: Char get() = this[0] fun main() { println("kotlin".firstChar) }

Для строки из одного символа индекс 0 совпадает с первым элементом. Свойство не хранит данные в объекте строки - оно лишь дает короткое имя для выражения:

val String.lastIndexSafe: Int get() = this.length - 1 fun main() { val word = "abc" println(word.lastIndexSafe) }

Свойство-расширение можно сочетать с функцией-расширением в одном файле: одно имя для чтения, другое - для действия с параметрами.

Объявите свойство firstChar для String. Выведите его для строки "data".

Объявите свойство isBlankLine для String. Оно равно true, если строка пустая или состоит только из пробелов. Проверьте " " и "x", выведите оба ответа.

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