【发布时间】:2016-02-24 12:27:59
【问题描述】:
如果我尝试访问泛型类型 T 的 javaClass,Kotlin 编译器会抱怨 T 不是 kotlin.Any 的子类型
class Foo<T> (val t: T ){
val cls = t.javaClass // Error, T is not a subtype of kotlin.Any
}
如果将 T 定义为 Any 的子类型,一切正常。
class Bar<T:Any> (val t: T ){
val cls = t.javaClass // OK
}
Q1) 如果类型“T”不是“Any”的子类型,那么它可以是哪些类/类的子类型?
Q2) T 的所有实例是否都存在 javaClass,如果存在,我该如何访问它?
【问题讨论】:
标签: generics reflection kotlin