Если я попытаюсь получить доступ к javaClass общего типа T, компилятор 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) Существует ли javaClass для всех экземпляров T, и если да, то каким образом я могу получить к нему доступ?