Kotlin 类型别名

文章目录

定义

有时候一个类型可能会特别长,特别是在引入泛型之后。我们可以使用typealias为某一类型起一个名字:

kt 复制代码
typealias Cookies = HashMap<String, List<String>>


fun main() {
    val cookies: Cookies = HashMap()
    
    cookies["sessionId"] = listOf("abc123")
}

为嵌套类起别名:

kt 复制代码
typealias MyClassInner = MyClass.Inner1.Inner2


class MyClass {
    class Inner1 {
        class Inner2
    }
}

为函数起别名:

kt 复制代码
typealias Callback = (String) -> Unit

泛型别名

当类型中带有泛型时,也可以连带泛型:

kt 复制代码
typealias Callback<T> = (Result<T>) -> Unit


fun request(callback: Callback<String>) =
    callback(Result.success("成功"))


fun main() {
    request { print(it.getOrNull()) }
}
复制代码
成功
相关推荐
赏金术士9 小时前
Kotlin 数据流与单双向绑定
android·开发语言·kotlin
帅次16 小时前
Modifier 链与顺序、测量与命中区域
android·kotlin·compose·modifier
小仙女喂得猪18 小时前
2026 Android 组件化项目的AICoding落地实践
android·kotlin·ai编程
帅次1 天前
状态 StateFlow、ViewModel 与 UI 收集
android·kotlin·gradle·android studio·android jetpack
Kapaseker1 天前
Android 中的 MVVM 是如何构建起来的
android·kotlin
雨白1 天前
深入理解 Kotlin 协程 (六):进退有度,解密协程取消响应与异常分发机制
kotlin
百锦再1 天前
Auto.js变成基础知识学习
开发语言·javascript·学习·sqlite·kotlin·android studio·数据库开发
帅次2 天前
Compose 入门:@Composable、组合与重组
android·kotlin·gradle·android jetpack·compose·composable
Junerver2 天前
Kotlin - 约定contract
kotlin
Junerver2 天前
使用datetime更加优雅地在kotlin中处理时间
kotlin