typealias
可用于提供一个更语义精简的类型别名取代具体泛型类型、匿名函数等含糊定义。
※ typealias 不会生成新的类型,编译器只做简单内联替换
// 泛型别名
typealias NodeSet = Set<Network.Node>
typealias FileTable<K> = MutableMap<K, MutableList<File>>
// 函数别名
typealias MyHandler = (Int, String, Any) -> Unit
typealias Predicate<T> = (T) -> Boolean
// 同名类型别名
class A {
inner class Inner
}
class B {
inner class Inner
}
typealias AInner = A.Inner
typealias BInner = B.Inner
网友评论