Kotlin入门-空安全设计

本文探讨了Kotlin的空安全设计,如何通过IDE避免NullPointerException,以及如何使用可空类型(?)和安全调用操作符(?.)来处理潜在的空值。Kotlin的默认非空约束和safe call等特性有助于在编译时发现潜在的空指针异常,提高代码的健壮性。
摘要由CSDN通过智能技术生成

这篇文章我们一起来学习Kotlin空安全的设计

在Kotlin中可以通过 IDE 的提示来避免调用 null 对象,从而避免 NullPointerException。其实在 androidx 里就有支持的,用一个注解就可以标记变量是否可能为空,然后 IDE 会帮助检测和提示,我们来看下面这段 Java 代码:

//Java

@NonNull
View view = null;
// IDE 会提示警告,'null' is assigned to a variable that is annotated with @NotNull

而到了 Kotlin 这里,就有了语言级别的默认支持,而且提示的级别从 warning 变成了 error(拒绝编译):

//Kotlin

var view: View = null
// IDE 会提示错误,Null can not be a value of a non-null type View

在 Kotlin 里面,所有的变量默认都是不允许为空的,如果你给它赋值 null,就会报错,像上面那样。

这种有点强硬的要求,其实是很合理的:既然你声明了一个变量,就是要使用它对吧?那你把它赋值为 null 干嘛?要尽量让它有可用的值啊。Java 在这方面很宽松,我们成了习惯,但 Kotlin 更强的限制其实在你熟悉了之后,是会减少很多运行时的问题的。

不过,还是有些场景,变量的值真的无法保证空与否,比如你要从服务器取一个 JSON 数据&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值