从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