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
    }
}