Назад к вопросам
Junior — Middle
70
Какими способами можно расширить возможности класса Any?
Компании, где спрашивали
Effective Mobile
Ответ от нейросети
sobes.tech AI
Класс Any в Android (например, в Kotlin) представляет собой универсальный контейнер для хранения значения любого типа. Расширить его возможности можно следующими способами:
-
Расширяющие функции: добавить функции расширения для удобного извлечения или преобразования хранимого значения.
-
Обёртки и утилиты: создать вспомогательные классы или методы для безопасного и удобного доступа к содержимому
Any. -
Использование sealed классов или обобщений: для более строгой типизации и обработки различных вариантов содержимого.
Пример расширяющей функции для безопасного преобразования Any в нужный тип:
inline fun <reified T> Any?.safeCast(): T? = this as? T
val value: Any = "Hello"
val str: String? = value.safeCast<String>() // str будет "Hello"
val num: Int? = value.safeCast<Int>() // num будет null