((object : TypeToken<T>() {}).javaClass.genericSuperclass as ParameterizedType).actualTypeArguments[0]
inline fun <reified T> b() = a<List<T>>()
class Test
fun main(args: Array<String>) {
println(a<List<Test>>())
println(b<Test>())
}
java.util.List<? extends Test>
java.util.List<? extends T>
При этом +inline fun <reified T> c() = a<Array<T>>() + println(a<Array<Test>>()) +println(c<Array<Test>>()) class [LTest; class [LTest;
Обсуждают сегодня