Kotlin泛型的高级特性
泛型的实化
条件
- 内联函数
- reified关键字修饰
举例
1 | inline fun <reified T> getGenericType(){ |
应用
启动活动
- 新建一个reified.kt文件
1 | inline fun <reified T> startActivity(context:Context,block:Intent.()->Unit){ |
- 启动活动
1 | startActivity<Test>(this){ |
泛型的协变
定义
假如定义一个MyClass
条件
一个泛型类在其泛型类型的数据上是只读的情况,简而言之,T只能出现在out位置上,而不能出现在in位置
实例
1 | //在T前使用out关键字声明表示T只能出现在out位置上 |
1 | fun main(){ |
泛型的逆变
定义
假如定义一个MyClass
条件
泛型T前加上in关键字声明,简而言之,T只能出现在in位置上,而不能出现在out位置
实例
1 | //在T前使用out关键字声明表示T只能出现在out位置上 |
1 | fun main(){ |
https://buyu6.github.io/posts/Kotlin%E6%B3%9B%E5%9E%8B%E7%9A%84%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7/
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Auroraの世界!




