在 kotlin 中的猫王运算符中使用多行



我在Android Studio中有以下代码:

    val newUser = !intent.hasExtra("newUser")
    val userData = intent.getParcelableExtra("newUser") ?: UserData()

此代码中存在问题。 如果意图中存在未UserData的额外内容,并且其键为"newUser",则newUser变为false,但userData成为UserData的新实例。我正在寻找这样的东西:

val userData = intent.getParcelableExtra("newUser") ?: {
    newUser = true
    UserData()
}

我知道这段代码不起作用,但是有没有办法做到这一点?

您可以将块包装在 run 函数中:

val userData = intent.getParcelableExtra("newUser") ?: run {
    newUser = true
    UserData() 
}

最新更新