以下代码的作用是什么?如果我用let
或run
替换apply
,我会得到相同的结果吗?
foo.bar?.let(return true)?:return false
相当于
return foo.getbar() != null
在java?
答案 0 :(得分:2)
有趣的代码。是的,它符合您的期望。如果let
未指向bar
,则会执行null
,否则将执行Elvis操作并返回false
。
应重构为return foo.bar != null
。
我猜let
“{}”
实际上是{{1}}调用了{{1}}。