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()) }
}
复制代码
成功
相关推荐
JMchen1233 小时前
自定义View性能优化:从60fps到120fps的进阶之路
android·经验分享·性能优化·kotlin·自定义view
耶叶5 小时前
Kotlin 的 Generics
kotlin
耶叶5 小时前
kotlin的修饰符
android·开发语言·kotlin
2601_949146536 小时前
安卓Android短信通知接口API示例代码:Java/Kotlin版App短信接口集成源码分享
android·java·kotlin
147API6 小时前
微软 Copilot Cowork 深度解析:用 Kotlin + 147API 手搓一个 AI Agent
kotlin·claude·147api·copilot cowork
橙子199110166 小时前
Java/Kotlin 与并发
java·python·kotlin
147API6 小时前
Claude API 429 限速治理:RPM/ITPM/OTPM + 令牌桶(Kotlin)
java·spring·kotlin·claude
摘星编程6 小时前
AR 眼镜拯救社恐:我用 Kotlin 写了个拜年提词器
kotlin·ar·restful
147API6 小时前
Claude 模型选型:Opus/Sonnet/Haiku + 成本/限速预算(Kotlin)
android·开发语言·kotlin·147api
Kapaseker20 小时前
一杯美式讲完 Sealed Class
android·kotlin