Android 在kotlin中使用Elvis运算符中的多行
我在Android Studio中有以下代码:Android 在kotlin中使用Elvis运算符中的多行,android,kotlin,Android,Kotlin,我在Android Studio中有以下代码: val newUser = !intent.hasExtra("newUser") val userData = intent.getParcelableExtra("newUser") ?: UserData() 这段代码中有一个问题。如果意图中存在一个非UserData的额外项,并且其键为“newUser”,则newUser将变为false,但UserData将变为UserData的新实例。 我在找这样的东西: val use
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()
}