Kotlin-类型别名

来源:互联网 发布:手机视频壁纸软件 编辑:程序博客网 时间:2024/05/22 02:14

类型别名为现有类型提供替代名称.如果类型名称太长,那么就可以生成一个不同的简短名称来代替使用.

缩短长泛型类型是很有用的,例如,收缩集合类型通常很诱人

typealias NodeSet = Set<Network.Node>typealias FileTable<K> = MutableMap<K, MutableList<File>>

也可以为函数类型提供不同的别名:

typealias MyHandler = (Int, String, Any) -> Unittypealias Predicate<T> = (T) -> Boolean

你可以为内部类或嵌套类提供一个新名字:

class A {    inner class Inner}class B {    inner class Inner}typealias AInner = A.Innertypealias BInner = B.Inner

类型别名不等价于是创建一个新类型,他们等价于对应基础类型,当你在代码中添加typealias Predicate和使用Predicate的时候, Kotlin编译器就会把展开为’(Int) -> Boolean’,因此,当需要一般函数类型时,可以传递类型变量,反之亦然

typealias Predicate<T> = (T) -> Booleanfun foo(p: Predicate<Int>) = p(42)fun main(args: Array<String>) {    val f: (Int) -> Boolean = { it > 0 }    println(foo(f)) // prints "true"    val p: Predicate<Int> = { it > 0 }    println(listOf(1, -2).filter(p)) // prints "[1]"}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四个月小孩鼻塞怎么办 小儿流清水鼻涕怎么办 小孩总是流鼻子怎么办 四个月小孩咳嗽怎么办 儿童流清水鼻涕怎么办 四个月婴儿发烧怎么办 宝宝体温36度怎么办 儿童感冒后鼻塞怎么办 儿童没感冒鼻塞怎么办 宝宝鼻塞怎么办3岁 儿童刚开始感冒鼻塞怎么办 婴儿感冒打喷嚏流鼻涕怎么办 宝宝感冒鼻涕多怎么办 一个多月的宝宝鼻塞怎么办 五个月宝宝鼻塞怎么办 4个月大婴儿鼻塞怎么办 四个月婴儿鼻塞怎么办 鼻炎晚上睡觉鼻塞怎么办 感冒了一直流鼻涕怎么办 感冒了鼻塞严重怎么办 两边鼻子都塞怎么办 感冒睡觉鼻子堵怎么办 孩子鼻炎流清水怎么办 小儿鼻涕流不停怎么办 老是单侧流鼻涕怎么办 有鼻炎光流鼻涕怎么办 一只鼻塞流鼻涕怎么办 鼻子总痒流鼻涕怎么办 鼻子总是痒流鼻涕怎么办 感冒后老流鼻涕怎么办 鼻炎犯了鼻塞怎么办 鼻炎鼻塞鼻涕多怎么办 猪鼻塞怎么办速效办法 感冒难受怎么办小窍门 来月经上火了怎么办 鼻血狂流不止怎么办 十三个月宝宝流鼻血怎么办 单侧鼻子出血怎么办 流鼻血停不下来怎么办 上火鼻血流不停怎么办 孩子经常出鼻血怎么办