kotlin中的elvis操作员.. foo.bar?.let(return true)?:return false

时间:2017-12-21 22:50:02

标签: kotlin

以下代码的作用是什么?如果我用letrun替换apply,我会得到相同的结果吗?

foo.bar?.let(return true)?:return false

相当于

return foo.getbar() != null

在java?

1 个答案:

答案 0 :(得分:2)

有趣的代码。是的,它符合您的期望。如果let未指向bar,则会执行null,否则将执行Elvis操作并返回false

应重构为return foo.bar != null

我猜let “{}”实际上是{{1}}调用了{{1}}。