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

Vas*_*Vas 2 inheritance kotlin

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

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

class Class(items: MutableList<Bar> = mutableListOf()) {
    var items: MutableList<Any> = items
}
Run Code Online (Sandbox Code Playgroud)

hot*_*key 5

是.Any是一个对应的映射类型java.lang.Object(它是所有Java类的超类型),因此,基本上,每个Java类都是从Kotlin看作的子类型Any.该something is Any检查始终是两个科特林和Java类型真实的,只要something是非空.

实际上,Any由所代表 java.lang.Object的JVM平台上:

println(Any::class.qualifiedName) // kotlin.Any
println(Any::class.jvmName)       // java.lang.Object
Run Code Online (Sandbox Code Playgroud)