Класс Any в Android (например, в Kotlin) представляет собой универсальный контейнер для хранения значения любого типа. Расширить его возможности можно следующими способами:
Какими способами можно расширить возможности класса Any?
Класс Any в Android (например, в Kotlin) представляет собой универсальный контейнер для хранения значения любого типа. Расширить его возможности можно следующими способами:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Класс 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