自kotlin 1.1起,类型别名(Type alias)为现有类型提供替代名称,
如果类型名称太长,可引入较短别名替代原类型名!
为集合类型(collection type)提供别名:
//缩短较长泛型类型(generic type)是很有吸引力的
typealias NodeSet = Set<Network.Node>
typealias FileTable<K> = MutableMap<K, MutableList<File>>
为函数类型(function type)提供别名(alias):
typealias MyHandler = (Int, String, Any) -> Unit
typealias Predicate<T> = (T) -> Boolean
为内部类(inner)和嵌套类(nested)创建别名:
class A {
inner class Inner
}
class B {
inner class Inner
}
typealias AInner = A.Inner
typealias BInner = B.Inner
提示:
类型别名不会引入新类型,换言之,别名是一种编译器的手段ÿ