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);
网友评论