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()) }
}
复制代码
成功
相关推荐
QING61814 小时前
Kotlin之【init】—— 新手须知
android·kotlin·android jetpack
Fate_I_C15 小时前
Android Navigation Fragment 导航实战
android·kotlin·navigation
雨白15 小时前
使用 Kotlin 与 Spring Boot 从零搭建 Web 应用
spring boot·kotlin
Fate_I_C15 小时前
Adroid Data Binding数据绑定对比(findViewXX、ButterKnife)
android·kotlin·databinding
Fate_I_C17 小时前
Android DataBinding数据绑定表达式、双向绑定
android·kotlin·databinding
jinanwuhuaguo21 小时前
OpenClaw范式深度剖析:从技术突破到安全治理的系统性研究(第二篇)
开发语言·人工智能·安全·架构·kotlin·openclaw
Fate_I_C21 小时前
Android Navigation组件核心问题深度解析
android·kotlin·navigation
Kapaseker1 天前
Kotlin 的 init 到底咋回事儿?
android·kotlin
Fate_I_C1 天前
Android Navigation的使用说明
android·kotlin·navigation
高林雨露1 天前
Java开发转kotlin
java·kotlin