Kotlin 笔记之空指针

本文介绍了Kotlin中处理空指针的方法,包括?.操作符、?:操作符、非空断言!!以及let函数的使用,强调了let函数在处理全局变量判空问题上的优势。
摘要由CSDN通过智能技术生成

Kotlin默认所有参数和变量都不为空,那么如果需要输入参数和变量为空该怎么办呢?

很简单,在类的后面加上一个问号。比如Int表示输入不可为空的整形,那么Int?表示输入可为空的整形。

但将参数改成可空的类型时,调用参数的方法可能会造成空指针异常,Kotlin在这种情况下不允许编译通过,那要如何解决呢?只要把空指针异常处理掉就可以了,比如做个判断处理(添加if判断语句)就能正常编译通过了。但如果每处检查代码都使用if判断语句,则会让代码变得比较啰嗦,而且if语句处理不了全局变量的判空问题,接下来介绍一些Kotlin提供的一系列辅助工具。

?.操作符 ,这个操作符的作用就是当对象不为空时正常调用相应的方法,当对象为空时则什么都不做。比如以下的判空处理代码:

if(a!=null){
   a.doSomething()
}

使用?.操作符可简化成:

a?.doSomething()

?:操作符,这个操作符的左右俩边都接收一个表达式,如果左边表达式的结果不为空则输出左边表达式的结果,否则就输出右边的结果。观察如下代码:

val c=if(a!=null){
    a
}   else{
    b
}

这段代码的逻辑使用?:操作符可简化为:

val c=a?:b

不过Kotlin的空指针检查机制并不是那么智能,有时候我们可能从

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值