Kotlin 是否可以对数据类';实例到类';财产?
我有一个数据类Kotlin 是否可以对数据类';实例到类';财产?,kotlin,Kotlin,我有一个数据类MyDataClass: data class MyDataClass(val a: Int, val b: Int) 以及一个具有两个属性的类MyClass。我想解构MyDataClass的实例,因此a和b被分配给MyClass属性,而不是声明新变量: class MyClass { val a: Int val b: Int init { val mdc = MyDataClass(1, 4) (a, b) = mdc //error }
MyDataClass
:
data class MyDataClass(val a: Int, val b: Int)
以及一个具有两个属性的类MyClass
。我想解构MyDataClass
的实例,因此a
和b
被分配给MyClass
属性,而不是声明新变量:
class MyClass {
val a: Int
val b: Int
init {
val mdc = MyDataClass(1, 4)
(a, b) = mdc //error
}
}
否,仅允许对局部变量和lambda参数进行分解声明 此外,它们仅用于一次创建多个局部变量。因此允许
val(a,b)=mdc
,但是
(a,b)=mdc
是无效语法,即使a
和b
不是属性 否,仅允许对局部变量和lambda参数进行解构声明
此外,它们仅用于一次创建多个局部变量。因此允许val(a,b)=mdc
,但是
(a,b)=mdc
是无效语法,即使a
和b
不是属性 尽管只允许对本地进行解构声明,但您仍然可以执行类似的操作
class MyClass {
val a: Int
val b: Int
init {
val (a, b) = MyDataClass(1, 4)
this.a = a
this.b = b
}
}
尽管只允许对本地文件进行解构声明,但您仍然可以执行类似的操作
class MyClass {
val a: Int
val b: Int
init {
val (a, b) = MyDataClass(1, 4)
this.a = a
this.b = b
}
}