如何在一行中设置多个Kotlin变量

nzkunb0c  于 2023-01-31  发布在  Kotlin
关注(0)|答案(3)|浏览(174)

我想在同一行中填充两个变量,但我不知道在Kotlin中最好的方法

var a:String? = null
var b:String? = null
a, b = "Text"
4ioopgfo

4ioopgfo1#

在Kotlin中是不可能的(除非你已经准备好求助于一些人为的重复构造,如其他答案和注解中所描述的)。

a = b = "Text"

因为奇怪的是,赋值在Kotlin中是而不是表达式(与几乎所有其他的表达式相反,如ifreturnthrowswicth等,它们在Kotlin中是 * 表达式,但在Java中不是)。
所以,如果你想赋值完全相同的值而不重复(赋值),你必须写

a = "Text"
    b = a

请注意,还有一个also函数(双关语),因此从技术上讲,如果您确实希望只使用一行,可以编写以下代码

a = "Text".also { b = it }

但我怀疑是否值得。

dphi5xsq

dphi5xsq2#

var a: String? = null; var b: String? = null

var (a: String?, b: String?) = null to null

但请不要这样做

ewm0tg9j

ewm0tg9j3#

只需创建一个内联数组,迭代并赋值。

arrayListOf(a, b, c, d).forEach { it = "Text" }

相关问题