将确定列表扩展为Kotlin中的变量

问题描述

在下面的代码中检查此代码[此方法很好用

val a = "1,2,3"

val split = a.split(",")
val x = split.get(0)
val y = split.get(1)
val z = split.get(2)

println(x) // 1
println(y) // 2
println(z) // 3

在Kotlin中,是否有更好的方法将定数组的值获取到这些变量中,例如

val a = "1,3"
val (i,j,k) = a.split(",") // ...{some magic code to put each item against variables i,k}

// This is how i want to use it
println(i) // 1
println(j) // 2
println(k) // 3

解决方法

您实际上尝试运行代码吗?效果很好:

val a = "1,2,3"
val (i,j,k) = a.split(",")

println(i)
println(j)
println(k)

输出:

1
2
3

它起作用的原因是因为Kotlin的destructuring declarations。对于列表,您最多可以执行5项操作,因为它已定义了5 component functions

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...