在数据类中,解构操作符(使用 componentN()
函数)用于将对象的属性解构为多个变量。例如:
data class Person(val name: String, val age: Int)
val person = Person("Alice", 30)
val (name, age) = person // 解构赋值
这里的 (name, age)
是一个解构声明,将 person
对象的 name
和 age
属性分别赋值给 name
和 age
变量。
在可变参数的上下文中,解构操作符(*
)用于将数组或集合的元素作为多个参数传递给函数。例如:
fun example(vararg numbers: Int) {
for (number in numbers) {
println(number)
}
}
val nums = intArrayOf(1, 2, 3)
example(*nums) // 使用解构操作符 *
这里的 *
操作符将 nums
数组的元素解构为多个独立的参数传递给 example
函数。