typealias в Kotlin это просто псевдоним для типа.
Он не создаёт новый тип, а даёт другое имя уже существующему.
Польза от typealias
Польза | Пример |
---|---|
Повышение читаемости | Username вместо String , Handler вместо (Int, String) -> Unit |
Переименование длинных типов | Map<String, List<Pair<Int, String>>> → typealias UserMap = ... |
Упрощение внедрения API | Поддержка устаревшего/внешнего имени, не меняя реальный тип |
Тестирование | typealias Dispatchers = CoroutineDispatcher → удобно мокать |
Работа с generic и DSL | Например: typealias Reducer<S> = (S, Action) -> S |
Во что компилируется typealias
?
Вообще ни во что. Kotlin удаляет typealias
на стадии компиляции. Он существует только в исходниках, для читаемости.