kotlin - Kotlin let vs != null
问题描述
使用 kotlin 的object?.let {...}
vs有什么区别if(object != null) {...}
?我遇到了这样的情况,let
在非空上使用等于 false 并且块没有被执行,但是使用if
具有相同对象的语句会导致正确识别对象非空并且块被执行。
它们在低层次上是否有所不同?
解决方案
在引擎盖下,object?.let { }
将被编译为if (object != null) { }
. 您可以尝试检查 kotlin 字节码。
恕我直言,使用let
也可能使您受益于使您的代码声明性的链接函数,并且我认为它更具可读性。
推荐阅读
- python - PyCharm IDE:“import @”代码有效,但“from @import @”无效
- javascript - 使用 Jest 模拟节点模块时出现 TypeError
- mysql - 约束一个值在 mySQL 的同一列中最多重复 3 次
- laravel - 下载页面的视图和控制器
- r - 计算大于 0 的值并计算有多少与一行中的模式匹配(在 R 中)
- arrays - 如何使用 Angular 2+ 访问图像中的数组元素
- reactjs - 试图用道具改变广场的可见性
- python - 如何在 PyQt5 中不断更新标签?
- python - 内核因奇怪的行为而死
- node.js - nodejs环境中Paytm支付网关集成(自定义结帐)的问题