Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Принцип звёздной проекции (Star Projection) в Kotlin — это способ безопасного использования генериков, когда не важен конкретный тип аргумента, но нужно обеспечить типобезопасность.
Применяется в следующих случаях:
*
: Эквивалентен Any?
. Обозначает, что тип аргумента неизвестен и нет информации о его границах. Можно читать только элементы, которые являются экземплярами Any?
, и нельзя записывать никакие, кроме null.
kotlin
in *
: Эквивалентен in Nothing
. Используется для ковариантных типов (out
), когда не важен конкретный нижний тип. Можно только записывать элементы (типа Nothing, что невозможно), но нельзя читать.
kotlin
Принцип звёздной проекции (Star Projection) в Kotlin — это способ безопасного использования генериков, когда не важен конкретный тип аргумента, но нужно обеспечить типобезопасность.
Применяется в следующих случаях:
*
: Эквивалентен Any?
. Обозначает, что тип аргумента неизвестен и нет информации о его границах. Можно читать только элементы, которые являются экземплярами Any?
, и нельзя записывать никакие, кроме null.
kotlin
in *
: Эквивалентен in Nothing
. Используется для ковариантных типов (out
), когда не важен конкретный нижний тип. Можно только записывать элементы (типа Nothing, что невозможно), но нельзя читать.
kotlin
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.