我正在学习使用Kotlin开发Android应用。我以前使用Java开发。在Android Studio中编码时,我可以看到Lambda、方法等中使用的返回类型、参数等被编写为View!。我知道Kotlin中类型后面的?表示可空类型,但!是什么意思呢?例如:
Kotlin
Java
?
!
val item = mySpinner.selectedItem
返回类型是Any!!是什么意思?它与可空类型Any?相同吗?谢谢。
Any!
Any?
qni6mghb1#
它是一个平台类型,表示Kotlin不确定它是null还是not null,就像说“可能”。平台类型不能在程序中显式地提及,因此在语言中没有它们的语法。然而,编译器和IDE有时需要显示它们(例如,在错误消息或参数信息中),因此有一个助记符表示它们:
null
not null
因为它可以是null或not null,所以如何对待它取决于你。也检查此另一个post
1条答案
按热度按时间qni6mghb1#
它是一个平台类型,表示
Kotlin
不确定它是null
还是not null
,就像说“可能”。平台类型不能在程序中显式地提及,因此在语言中没有它们的语法。然而,编译器和IDE有时需要显示它们(例如,在错误消息或参数信息中),因此有一个助记符表示它们:
因为它可以是
null
或not null
,所以如何对待它取决于你。也检查此另一个post