matlab去掉空的元组,第三节 二元元组、空值处理

1、二元元组

fun main(args: Array) {

//定义一个二元元组,包含姓名和年龄

val pair=Pair("张三",20)

println(pair.first)

println(pair.second)

//另外一种更简单的定义方式

val pair2="李四" to 30

println(pair2.first)

println(pair2.second)

}

输出:

31ab2d6014ff

image.png

2、三元元组

fun main(args: Array) {

//定义一个三元元组,包含姓名和年龄、电话

val triple=Triple("张三",10,"13290877666")

println(triple.first)

println(triple.second)

println(triple.third)

}

31ab2d6014ff

image.png

3、空值处理

31ab2d6014ff

image.png

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?=null

}

将str转换为Int类型

31ab2d6014ff

image.png

关闭非空检查(不建议使用)

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?=null

//将str转为为Int类型(报错)

//str.toInt()

//告知编译器,不需要做非空检查了(这样的话因为str为null,运行抛异常了)

str!!.toInt()

}

输出:

31ab2d6014ff

image.png

空安全调用符(推荐)

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?=null

//空安全调用符

str?.toInt()

}

运行并没有报错,看下转换后的java代码:

31ab2d6014ff

image.png

可以看到,并有调用toInt()方法,把str赋值后再看下java代码

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?="123"

//空安全调用符

str?.toInt()

}

转换后的java代码:

31ab2d6014ff

image.png

空安全调用的返回值:Int?

31ab2d6014ff

image.png

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?="123"

//空安全调用的返回值是可空类型

var a:Int?=str?.toInt()

if(a==null)

{

println(-1)

}

else

{

println(a)

}

}

输出:

31ab2d6014ff

image.png

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?=null

//空安全调用的返回值是可空类型

var a:Int?=str?.toInt()

if(a==null)

{

println(-1)

}

else

{

println(a)

}

}

输出:

31ab2d6014ff

image.png

简单写法:

fun main(args: Array) {

//val str:String 非空类型 不能赋值为null

//val str: String? 可空类型 可以赋值为null

val str:String?=null

//空安全调用的返回值是可空类型

var a:Int=str?.toInt()?:-1

println(a)

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值