首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin let let != null

Kotlin let let != null
EN

Stack Overflow用户
提问于 2018-07-12 01:41:30
回答 2查看 299关注 0票数 1

使用kotlin的object?.let {...}与使用if(object != null) {...}有什么不同?我遇到过这样的情况:在非null上使用let等同于false,块不会被执行,但是对相同的对象使用if语句会正确地识别出对象是非null的,并且块会被执行。

它们在低层次上有什么不同吗?

EN

回答 2

Stack Overflow用户

发布于 2021-11-29 01:40:19

在幕后,object?.let { }将被编译成if (object != null) { }。您可以尝试检查kotlin字节码。

我的意思是,使用let还可以帮助你链接函数,这使得你的代码具有声明性,而且我认为它更具可读性。

票数 0
EN

Stack Overflow用户

发布于 2021-11-28 07:05:19

当您正在读取也包含NULL值的项目列表并且希望仅打印非NULL值时,let关键字是首选方案之一。例如:

代码语言:javascript
复制
var array = arrayOf("StackOverflow", "Kotlin", "Android", null, "Jetpack", null)
for (item in array) {
    item?.let {
        print("$it ")
    }
}

输出:

代码语言:javascript
复制
StackOverflow Kotlin Android Jetpack

for循环中的代码就像是在说“如果item不为null,让我们打印它的值”。因此,?.let允许您为非空值运行代码。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51291427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档