空的类型是什么?



在 Kotlin 中,可以是 'Foo 或 null 的东西的类型是 Foo?。

但是空本身的类型是什么?特别是,它不是任何元素或其任何子类型。

从规范:

关键字null表示 null 引用,该引用表示缺少值,并且仅对可为 null 的类型是有效值。Null 引用的类型为kotlin.Nothing?,根据定义,它是此类型的唯一值。

例如,这与此处相关:

fun foo() = null

Kotlin 将从其主体推断出foo的返回类型,即表达式null。因此,返回类型将为kotlin.Nothing?

编辑:将null分配给可为空的类型有效,因为

kotlin.Nothing是 Kotlin 类型系统中任何其他类型的子类型

因此,对于任何Tkotlin.Nothing?都可以分配给T?,因为kotlin.NothingT的子类型。

null

它不是特定类型,而是为某些具有特定类型的变量定义值。

null定义对无或空内存地址的引用。

相关内容

  • 没有找到相关文章

最新更新