我有一个数据类MyDataClass:
data class MyDataClass(val a: Int, val b: Int)
Run Code Online (Sandbox Code Playgroud)
和一个MyClass具有两个属性的类。我想解构MyDataClass, 所以a和的实例b被分配给MyClass属性,而不是声明新变量:
class MyClass {
val a: Int
val b: Int
init {
val mdc = MyDataClass(1, 4)
(a, b) = mdc //error
}
}
Run Code Online (Sandbox Code Playgroud)
不,解构声明只允许用于局部变量和 lambda 参数。
此外,它们仅用于一次创建多个局部变量。Soval (a, b) = mdc是允许的,但
(a, b) = mdc语法无效,即使a和b不是属性。
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |