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

Звезда в Kotlin

Когда конкретный тип элементов не важен или неизвестен, вместо имени типа ставят звездочку. Класс List<*> читается как список чего-то, без обещания, что это строки или числа.

Функция может принять любой список и вывести размер, не зная тип элемента:

fun printSize(row: List<*>) { println(row.size) } fun main() { printSize(listOf("a", "b")) printSize(listOf(1, 2, 3)) }

Элемент, прочитанный по индексу, имеет тип Any? - безопасный общий тип для неизвестного содержимого. Добавление нового значения в такой список запрещено: компилятор не знает, какой тип там допустим:

fun firstLabel(row: List<*>): Any? { return if (row.isEmpty()) null else row[0] } fun main() { val mixed: List<*> = listOf("go", 10) println(firstLabel(mixed)) }

Напишите функцию, которая принимает список со звездочкой и возвращает последний элемент или null для пустого списка. Проверьте на списке из двух строк и выведите результат.

Напишите функцию, которая выводит сумму длин строковых элементов списка со звездочкой, пропуская нестроковые значения. Для списка "io", 5, "api" выведите ответ.

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