博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kotlin泛型类型变异
阅读量:4647 次
发布时间:2019-06-09

本文共 651 字,大约阅读时间需要 2 分钟。

在java泛型中中会有 ? extends E 可以解决类似于List<String> 赋给List<Object>  的问题,但是在kotlin泛型中并没有提供通配符,而是out和in关键字,用out声明的泛型占位符只能在获取泛型类型赋值,如函数的返回值,用in声明的泛型占位符只能在设置泛型类型值得地方,如函数的参数.

abstract class Source
{ abstract fun nextT():T}fun demo (str:Source
){ val objects : Source
=str//Any是非空类型的根,Any?是可空类型的根,由于Any?是Any的根,所以Any?是Kotlin的类型层次结构的最顶端。如java中的object}
fun demo (x:Comparable
){ x.comparable(10.0) var y:Comparable
=x}abstract class Comparable
{ abstract fun comparable(other: T):Int}

 

转载于:https://www.cnblogs.com/loaderman/p/10141382.html

你可能感兴趣的文章
js 元素到指定的相对定位的父元素的距离
查看>>
ThoughtWorks.QRCode 生成QR二维码时提示“索引超出了数组界限”的原因和解决方法...
查看>>
Python 实现定时任务(sleep、Timer 、sched、APScheduler)
查看>>
linux系列(十九):firewall-cmd命令
查看>>
常用的第三方模块 chardet url
查看>>
Js中的subStr和subString的区别
查看>>
libpcap详解
查看>>
一键安装Redmine
查看>>
docker的基础命令
查看>>
软件工程第十二次作业 - 每周例行汇报
查看>>
画任意两点之间的连线
查看>>
C# 深化基本概念
查看>>
Word2Vec实现原理(Hierarchical Softmax)
查看>>
Linux shell 只删除目录下所有(不知道文件名字)文件,只删除文件夹
查看>>
实验六--静态路由
查看>>
PLSQL DBMS_DDL.ANALYZE_OBJECT
查看>>
对Dataguard的三种模式的理解
查看>>
网络原理
查看>>
JS学习笔记
查看>>
写日记的好处
查看>>