是否有可能将数据类的实例解构成类的属性?
我有一个数据类MyDataClass
:
data class MyDataClass(val a: Int, val b: Int)
和具有两个属性的类MyClass
。 我想解构一个MyDataClass
的实例,所以a
和b
被分配给MyClass
属性,而不是声明新的variables:
class MyClass { val a: Int val b: Int init { val mdc = MyDataClass(1, 4) (a, b) = mdc //error } }
不,解构声明只允许局部variables和lambda参数。
而且,它们只用于一次创建多个局部variables。 所以val (a, b) = mdc
是允许的,但是(a, b) = mdc
是无效的语法,即使a
和b
不是属性。