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()) }
}
复制代码
成功
相关推荐
JohnnyDeng9411 小时前
【Android】Hilt 依赖注入:原理与最佳实践
android·kotlin·mvvm·hilt
杉氧19 小时前
Kotlin 协程深度解析④:架构实战——在 MVVM/MVI 中的进阶应用
android·kotlin
杉氧1 天前
Kotlin 协程深度解析③:流式编程——Flow 的响应式进化
android·kotlin
Coffeeee1 天前
Android16升级,预测性返回适配起来到底难不难
android·程序员·kotlin
QING6181 天前
Kotlin 协程新手指南 —— 结构化并发
android·kotlin·android jetpack
Kapaseker1 天前
为什么 Java 要废弃 Thread.stop()?看完这篇你就懂了
android·kotlin
唐青枫1 天前
Kotlin run 详解:把对象操作收进作用域,再把结果带出来
kotlin
杉氧2 天前
Kotlin 协程深度解析②:生存指南——掌握结构化并发的生命线
android·kotlin
QING6182 天前
Kotlin 协程新手指南 —— 协程上下文与调度器
android·kotlin·android jetpack
plainGeekDev2 天前
HttpURLConnection → OkHttp + Kotlin
android·java·kotlin