Kotlin学习路(二):空指针

本文详细介绍了Kotlin中的空指针处理,包括可空类型、?.操作符、?:操作符、!!操作符和let函数的使用,帮助开发者更好地理解和避免空指针异常。
摘要由CSDN通过智能技术生成

<本文学习郭神《第三行代码》总结>

1、可空类型

Kotlin在编译时,会有自己的判空机制,可以几乎杜绝空指针异常
首先,写一段代码:

fun setDate(a: Test) {
    a.getText()
    a.getContent()
}

这段代码没有空指针风险,并且这段代码无法传入空参数。
因为Kotlin默认所有参数不可为空,所以这里传入的参数也是不可空的。如果这里传入一个null参数,则会提示错误:Null can not bea value of a non-null type Study,也就是说,Kotlin在将空指针异常的检查提前到了编译期。
如果开发过程中,业务逻辑需要使用null参数,则需要进行可空类型操作。
可空类型很简单,就是在类名后加一各问好,比如:

Int 表示不可空整型
Int? 表示可空整型
String 表示不可控字符串
String? 表示可空字符串

那么,将上述代码修改为

fun setDate(a: Test?) {
    a.getText()
    a.getContent()
}

就可以传入null参数,就不会再提示错误。
但是,传入了空参数,会导致方法里面的调用方法getText()、getContent(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值