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]"}
阅读全文
0 0
- Kotlin-类型别名
- Kotlin-37.类型别名(typealias)
- 类型别名
- 类型别名
- 类型别名
- 类型别名
- Kotlin学习(十四): 类型别名(Type aliases)和注解(Annotations)
- Kotlin 类型
- iBATIS内置类型别名
- VC常用类型别名
- 04-MyBatis_类型别名
- 创建类型别名
- C++类型别名细节
- kbengine类型别名
- c++基础--类型别名
- 7.类型别名
- switf类型别名
- C++类型别名
- 使用phpexcel库导出excel,出现无法访问此网站
- Linux环境安装jdk
- Android使用Facebook Conceal进行文件或文本内容的加密解密
- Jquery 点击图片在弹出层显示大图
- Linux环境配置yum源
- Kotlin-类型别名
- 平方探测的另一种插入方式
- Professional JS(5.7-单体内置对象)&&深入理解JS原型和闭包---from王福朋前辈
- Linux环境下安装MySQL
- Openstack创建实例--horizon篇
- 欢迎使用CSDN-markdown编辑器
- Linux下静默安装Oracle
- 擦!RecyclerView的适配器确实比listview的简单些,因为tag都做了封装了
- Using namespace