快速上手 Kotlin 开发系列之类型映射
Posted 张鹿鹿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速上手 Kotlin 开发系列之类型映射相关的知识,希望对你有一定的参考价值。
本节介绍 Kotlin 中类型映射。
Kotlin 中有一个比较有意思的关键字:typealias,有点类似于 C/C++ 代码中的 define,可以将一个类映射到另一类上,但是不同的是 C/C++ define 是宏定义会在编译时转换成对应的类,而 Kotlin 中的 typealias 则表示两个类是完全一致的。
在写代码时,不管是写原始类还是映射类,都是可以的。例如下面的示例中使用 A 类映射一个 File 类。
public typealias A = File
在创建对象时既可以用 A 类,也可以用 File 类,它俩是完全一致的。所以下面的代码完全可以正常编译执行。
fun main()
val a:A = File("")
其实 typealias 关键字相当于给一个类起一个别名。
在 Kotlin 中,非常多的对象都是通过 typealias 来映射过来的,例如 HashMap 对象,就是通过 typealias 直接映射了 Java 的 HashMap。
public actual typealias HashMap<K, V> = java.util.HashMap<K, V>
为什么要这么做呢?
如果将来 Kotlin 对 HashMap 做一些特性优化的时候,就可以直接在 Kotlin 中优化而不需要去兼容 Java 的 HashMap。
也可以做一些特性的定制,或者说跨平台的定制,我们知道 Kotlin 是不光运行在 JVM 平台的,也可以其他的非 JVM 平台,这样的话,可以直接修改映射的类做到跨平台的支持。
以上就是本节内容,欢迎大家关注~
以上是关于快速上手 Kotlin 开发系列之类型映射的主要内容,如果未能解决你的问题,请参考以下文章