【问题标题】:Dual of Elvis: do this if not null?猫王的双重:如果不为空,请执行此操作?
【发布时间】:2020-05-27 21:09:21
【问题描述】:

Kotlin 有 Elvis 运算符来表示“获取 X,或者如果它为 null,则使用此替代方法”。

“获取 X,如果它不为空,请继续执行此操作”的最简洁、惯用的方式是什么?

我在想可能是安全调用运算符 ?. 与范围函数之一相结合:https://kotlinlang.org/docs/reference/scope-functions.html

但如果是这样,那么在这里使用五个作用域函数中的哪一个是正确和惯用的?或者有没有我想念的替代方案?

【问题讨论】:

  • 通常 let and run 会这样做。 Let是将表达式作为参数it,运行会将其作为this变量。

标签: kotlin


【解决方案1】:

let 是这里的常用选择:

(some expression)?.let { 
    println(it) 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-10
    • 2021-06-19
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    • 2016-11-14
    • 2011-06-01
    相关资源
    最近更新 更多