快速上手 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 开发系列之类型映射的主要内容,如果未能解决你的问题,请参考以下文章

快速上手 Kotlin 开发系列之比较对象

快速上手 Kotlin 开发系列之循环

快速上手 Kotlin 开发系列之集合操作符

快速上手 Kotlin 开发系列之作用域函数

快速上手 Kotlin 开发系列之解构

快速上手 Kotlin 开发系列之集合操作符