Kotlin 使用返回Pair的函数在类init块中分配2个VAL

Kotlin 使用返回Pair的函数在类init块中分配2个VAL,kotlin,Kotlin,对于这样一个类: class Test { val A: Car val B: Truck init { (A, B) = returnCarAndTruck() } fun returnCarAndTruck() = Pair(Car(), Truck()) } 我想使用一个返回一对的函数初始化A和B的VAL,但除非我在init块中定义VAL,否则它似乎不起作用。这意味着我不再引用它们了,对吗?有没有可能一对一对地初始化这两个呢?我们为您寻找的最好的产品是:

对于这样一个类:

class Test {
  val A: Car
  val B: Truck

  init {
    (A, B) = returnCarAndTruck()
  }

  fun returnCarAndTruck() = Pair(Car(), Truck())
}


我想使用一个返回一对的函数初始化A和B的VAL,但除非我在init块中定义VAL,否则它似乎不起作用。这意味着我不再引用它们了,对吗?有没有可能一对一对地初始化这两个呢?

我们为您寻找的最好的产品是:

class Test {
    val A: Car
    val B: Truck

    init {
        val (a, b) = returnCarAndTruck()
        A = a
        B = b
    }

    fun returnCarAndTruck() = Pair(Car(), Truck())
}

我们不能,我也试过这样做,你们必须使用对的第一和第二个属性,并在不同的行中进行!啊。。。是的,我的工作看起来很不像科特林。谢谢你!