Kotlin空型安全和智能类型转换 湘邮科技股票

股票资讯  2021-03-26 10:35:51

原标题:Kotlin空型安全和智能类型转换

作者:Maenj Ba lah

来源:分段故障不考虑社区

一、前言

& ltFont face= bold >:我们已经在Kotlin中谈到了Kotlin的类、接口和扩展方法。今天我们就来说说Kotlin中的空型安全和智能型转换。

二、科特林空式安全2.1、空式安全概念

& ltFont face= bold >

& ltFont face= bold >:以下代码无法在Kotlin中编译,因为Kotlin String不能接受null值,所以不允许进行此赋值操作。

变量非空:字符串= "你好"

NonNull = Null //不能为null,也不能指定为null

//如果访问长度较长,不需要空判断

值长度=非空。长度

& ltfont face = bold >:IDE报告的错误如下:

& ltFont face= bold >Kotlin必须接收一个null值,以便与Java 100%兼容,因此要接收一个null值,我们可以在定义它时添加一个。。

& ltFont face= bold >:但是这个变量此时可能为null,所以访问时间会比较严格。例如,下面代码中的nullable.length将报告一个错误,因为它可能会触发null指针异常。

var可空:String?= "你好"

可空= null //可空类型,通过编译

Val length = nullable.length //可能会触发空指针,编译肯定会出错

& ltfont face = bold >:IDE报告的错误如下:

& ltFont face= bold >:此时,我们认为可空。length可以:

& ltFont face= bold >:当我们确定可空不能为空时,可以将可空转换为不可空类型,如下图:var nullable: String?= "Hello" //不会报错(你已经知道了,这个可空不能为空)val length = nullable!!。长度 & ltFont face= bold >:如果不确定可空是否为空,可以使用。。要实现安全访问,如下所示:

var可空:String?= "你好"

//在这种情况下,如果nullable为空,则返回的长度也为空

val length =可空?。长度

//此时长度的类型不是Int而是Int?,所以可以写成如下

值长度:整数?=可空?。长度

//如果希望长度类型为Int,可以添加一个默认值,编写如下

值长度:Int =可空?。长度?:0 //如果可空?如果……长度为空,则返回0

2.2.空类型的继承关系

& ltFont face= bold >:我们知道Int是Number的子类,所以可以通过下面的代码知道String应该是String。的一个子类。

var a: Int = 2

风险值:数字= 10.0

A = b //类型不匹配,报告错误

b = a //好

var x: String = "Hello "

var y:字符串?= "世界"

X = y //类型不匹配,报告错误

y = x // OK

2.3.Kotlin空型安全审查

三、科特林智能式转换

3.1.智能类型转换示例

& ltFont face= bold >:示例1:

& ltFont face= bold >:先写一个Java类型转换:

//定义接口

公共界面Kotliner {

}

//定义一个类Person来实现Kotliner接口

公共类Person实现Kotliner {

公共最终字符串名称;

公共最终年龄;

公众人物(字符串名称,整数){

this.name = name

this.age = age

}

公共静态void main(字符串

四.总结

& ltFont face= bold >在下一节中,我们将讨论Kotin中的表达式。

动词 (verb的缩写)源代码

源代码已经上传到github,需要的话可以直接下载。

https://github.com/kdwu/KotlinLearning

SegmentFault认为社区应该与文章作者有更多的互动和交流。回搜狐多看

负责编辑:


以上就是Kotlin空型安全和智能类型转换湘邮科技股票的全部内容了,喜欢我们网站的可以继续关注梅贵股票网其他的资讯!

相关推荐

4月24日,首都新闻。4月23日,上交所发布总经理工作报告节选。具体内容好像是这样的:1.2019年工作总结2019年,上交所认...
昨天市场遭受重大挫折。从阶段来看,持有量减少的增加和新股发行的加快,包括北方资金的转移,都增加了市场的供应压力,而昨天的大幅下跌...
3月11日,首都国泰获悉,上市公司国轩高科(002074.SZ)昨日晚间发布公告,公司将设立两家Sun公司,以进一步完善国轩高科...
9月23日,CapitalState获悉,截至9月22日收盘,美国三大股指均收涨。道指上涨140.48点,涨幅0.52%2525...
5月27日,首都国度获悉,今日沪深三大指数上涨,上证指数在连续四次上涨后重回3600点。两市个股多数上涨,主题概念活跃。半导体板...
华安聚友特选基金经理饶小鹏今年上半年,突如其来的新冠疫情迄今已感染超过1000万人,夺去了近50万人的生命。我们哀悼在疫情中逝去...
2月26日,首创获悉,科创板前沿生物科技(688221.SH)发布2020年度业绩公告。公告显示,2020年,前沿生物将实现总营...
[中顺界肉(002511),股票吧](002511)被称为"纸上茅台",今年股价上涨了44.71%。5月9日晚,中顺界柔宣布,董...
12月3日,第十三届中国企业协会由中国可持续发展商业委员会"可持续发展商业报道"组织,并由瑞典大使馆企业社会责任中心共同赞助在中...

友情链接