gpt4 book ai didi

kotlin - Kotlin中的非空检查有什么区别?

转载 作者:行者123 更新时间:2023-12-02 13:37:09 24 4
gpt4 key购买 nike

有几种方法可以在Kotlin中执行空检查:

1。

if(myVar != null) {
foo(myVar)
}

2。
myVar?.let { 
foo(it)
}

3。
myVar?.run { 
foo(this)
}

这些方式有什么区别?

有什么原因(性能,最佳实践,代码风格等)为什么我比其他人更喜欢?

最佳答案

!!是要告诉编译器,我确定变量的值不为null,如果为null,则抛出null指针异常(NPE),其中as为?。是告诉编译器我不确定该变量的值是否为null,如果为null,则不要抛出任何null指针。

使用可空属性的另一种方法是安全调用运算符?。
如果该属性不为null,则调用该方法;如果该属性为null,则返回null而不抛出NPE(空指针异常)。

nullableVariable?.someMethodCall()

关于kotlin - Kotlin中的非空检查有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53929440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com