2017-10-07 19 views
2

我有一個數據類MyDataClass是否可以解構數據類的實例放入類的屬性?

data class MyDataClass(val a: Int, val b: Int) 

,並具有兩個屬性的類MyClass。我想解構實例的MyDataClass,所以ab分配給MyClass性質,而不是宣佈新的變量:

class MyClass { 

    val a: Int 
    val b: Int 

    init { 
    val mdc = MyDataClass(1, 4) 
    (a, b) = mdc //error 
    } 

} 

回答

3

沒有,解構聲明只能用於局部變量和參數的λ。

此外,它們僅用於一次創建多個局部變量。所以val (a, b) = mdc是允許的,但 (a, b) = mdc是無效的語法,即使ab不是性能。

相關問題