我在 Android Studio 中有这段代码:
val newUser = !intent.hasExtra("newUser")
val userData = intent.getParcelableExtra("newUser") ?: UserData()
这段代码有问题。如果 extra 不是 UserData
存在于 intent 中并且它的键是“newUser”,则 newUser
变为 false
但 userData
成为 UserData
的新实例。
我正在寻找这样的东西:
val userData = intent.getParcelableExtra("newUser") ?: {
newUser = true
UserData()
}
我知道这段代码行不通,但有办法吗?
最佳答案
您可以将 block 包装在 run
函数中:
val userData = intent.getParcelableExtra("newUser") ?: run {
newUser = true
UserData()
}
关于android - 在 kotlin 的 Elvis 运算符中使用多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49057348/