Android Why intent.getParcelableExtra don';是否在kotlin中返回可为null的类型?
我有一个从intent中提取数据的示例Android Why intent.getParcelableExtra don';是否在kotlin中返回可为null的类型?,android,kotlin,Android,Kotlin,我有一个从intent中提取数据的示例 val screen = intent.getParcelableExtra<Screen>("screen") val screen=intent.getParcelableExtra(“screen”) 我收到的结果是一个不可为null的变量,但它可以为null,因为我不知道该包裹是否已添加到extras。为什么kotlin不返回可为null的类型?kotlin只调用java中android SDK中定义的getParcelableEx
val screen = intent.getParcelableExtra<Screen>("screen")
val screen=intent.getParcelableExtra(“screen”)
我收到的结果是一个不可为null的变量,但它可以为null,因为我不知道该包裹是否已添加到extras。为什么kotlin不返回可为null的类型?kotlin只调用java中android SDK中定义的
getParcelableExtra()
。此方法没有使用@Nullable
注释,因此kotlin不知道它可能返回null
另见:
可空性注释具有nullability注释的Java类型 不是表示为平台类型,而是表示为实际可为null或 非空Kotlin类型。编译器支持多种风格的 可空性批注,包括:
- JetBrains(@Nullable和@NotNull来自org.JetBrains.annotations 包装)
- Android(com.Android.annotations和Android.support.annotations)
val screen = intent.getParcelableExtra<Screen>("screen")
val screen: Screen? = intent.getParcelableExtra<Screen>("screen")