Kotlin - kotlin是否包含像java类中的基类的Object类?

par*_*ril 0 kotlin

在我的代码我定义下面的变量,

var obj_str: Object = "NEW" as Object  
Run Code Online (Sandbox Code Playgroud)

这给了警告 This class shouldn't be used in Kotlin. Use kotlin.Any instead

所以,我需要知道任何类似于kotlin中的Object或其他任何东西?

还需要知道等待方法,如wait(),notify()等在Object类中可用但不在Any中,所以在kotlin中执行该操作?

zsm*_*b13 9

是的,AnyKotlin类层次结构Object的根与Java类层次结构的根完全相同.

换句话说,每个非可空类都是AnyKotlin 的子类,所有类都是其子类Any?.

在JVM上使用Kotlin时,它实际上只是映射Object引擎盖下,因此它们完全相同.

  • Kotlin实际上没有不可为空的_classes_;它具有不可为空的_types_。一个[`KType`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-type/index.html)具有一个[isMarkedNullable](https://kotlinlang.org/ api / latest / jvm / stdlib / kotlin.reflect / -k-type / is-marked-nullable.html)属性,而[`KClass`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin .reflect / -k-class /)不会。也就是说,每个类都是Kotlin中“ Any”的子类,所有类型都是“ Any?”的子类型。 (2认同)