从Java类继承的Kotlin类是否也继承自Any?

从Java类继承的Kotlin类是否也从Any继承?

如果我们有一个Java类Foo和一个从Foo继承的Kotlin类Bar,并且我们试图在Kotlin的MutableList中使用它,那么下面的工作应该如何?

class Class(items: MutableList<Bar> = mutableListOf()) { var items: MutableList<Any> = items } 

是。 Any一个映射类型都对应于java.lang.Object (它是所有Java类的超类型),所以基本上每个Java类都可以从Kotlin看作Any一个子类型。 something is Any检查对于Kotlin和Java类型都是正确的,只要something是非空的。

实际上, Any在JVM平台上是 java.lang.Object 表示的

 println(Any::class.qualifiedName) // kotlin.Any println(Any::class.jvmName) // java.lang.Object