在Kotlin中有没有一种干净的方法,仅当值不为空时才给变量赋值?

我的例子是:

if(x != null)
   y = x

I found a solution like

y = x? : return

但我不明白这是否符合我的要求,以及这个操作符是如何工作的.

推荐答案

该运算符称为Elvis运算符.它计算x是否为空,如果为真,则将x赋值给y.如果为空,它将在问号后计算语句,立即返回,因此保持y不变.

Kotlin相关问答推荐

如何创建继承抽象的匿名对象的新实例?

如何在Kotlin中为两个数据类创建可重用的方法?

导入org.gradle.jvm.toolchain.internal.JavaToolchainFactory未解析引用:Java工具链工厂

为什么";";.equals(1)在柯特林语中是有效的,但";";=1是无效的?

Groovy Gradle文件的Kotlin类似功能

有没有一种简单的方法来识别物体?

Kotlin扩展函数未调用Hibernate/JPA中的重写函数

如何使用multiset与JOOQ获取关联的记录列表?

如果带注释的成员未被特定块包围,则发出 IDE 警告

即使 Kotlin 的 `Map` 不是 `Iterable`,它如何以及为什么是可迭代的?

Kotlin 具体类从抽象类和接口扩展而来,接口使用抽象类中实现的方法

如何通过 compose 处理剪切区域?

为 Gradle 子项目配置 Kotlin 扩展

无法在 kotlin android 中以编程方式禁用 EditText

将 @Component.Builder 与构造函数参数一起使用

将多个 Kotlin 流合并到一个列表中,而无需等待第一个值

Kotlin中的测试无法访问受保护(protected)的方法

从另一个列表创建一个列表

目前不支持 Gradle 项目的自动库版本更新.请手动更新您的 build.gradle

为什么在 Kotlin 中return可以返回一个return?