Как назначить текущий экземпляр класса в Kotlin - PullRequest
0 голосов
/ 29 августа 2018

У меня есть код, который выглядит примерно так,

data class X{
    fun getSomething(){
    var y: Y()
    //How can I write this
    //this=y.doSomething()
    }
}

class Y{
    fun doSomething(): X{ 
    //...
    return x }
}

Я хочу присвоить this объекту, который я возвращаю из какого-то другого метода в другом классе.

1 Ответ

0 голосов
/ 29 августа 2018

Вы не можете ничего присвоить this, а также классы data должны быть неизменными. Просто переназначьте вашу ссылку:

data class X(val x: String) {
    fun getSomething() = Y().doSomething()
}

class Y {
    fun doSomething(): X {
        return X("fromY")
    }
}

fun main(args: Array<String>) {
    val second = X("first").getSomething()
} 
...