kotlin获取泛型参数反射创建对象实例

2022-12-29  本文已影响0人  咚咚_Coding

Java

((this.javaClass.genericSuperclass as? ParameterizedType)?.actualTypeArguments?.get(0) as? Class<T>)?.newInstance()

Kotlin

val newInstance = this::class.supertypes.first().arguments.first().type?.javaClass?.newInstance()
    print("..TestLinerHorListView.$newInstance")

获取泛型类型

new TypeReference<ArrayList<Feed>>() {}.getType()

反射创建带构造实例

java.lang.reflect.Constructor#newInstance

一个类是否是另外一个类的实例

Class classA = clazz.asSubclass(A.class);
上一篇下一篇

猜你喜欢

热点阅读