美文网首页
kotlin获取泛型参数反射创建对象实例

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

作者: 咚咚_Coding | 来源:发表于2022-12-29 17:02 被阅读0次

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);

相关文章

  • 关于反射的使用

    反射中获取泛型参数信息

  • 抽象工厂模式创建对象

    结合反射应用,使用class.forName反射创建对象,通过泛型约束参数类型新产品只需实现CommonAPI即可...

  • Kotlin:泛型杂谈(下)

    在Kotlin:泛型杂谈(上)中,从泛型扩展属性、非空约束、实例化类型参数三个方面简单介绍了一下Kotlin中泛型...

  • 通过反射获取泛型

    获取泛型参数的信息:1、通过Field.getGenericType()方法获取到Type类型(该对象中包含了泛型...

  • Java 反射

    Java反射Java反射API获取Class对象通过反射创建实例对象,调用公共方法通过反射调用私有方法 一.Jav...

  • Kotlin学习之类与对象2

    泛型 与 Java 类似,Kotlin 中的类也可以有类型参数: 一般来说,要创建这样类的实例,我们需要提供类型参...

  • java反射

    参考:深入解析Java反射(1) - 基础 获取class对象 判断是否某个类实例 创建实例 获取方法 getDe...

  • Kotlin 泛型

    与Java一样,Kotlin也支持泛型,为类型安全提供保证,消除类型强转的烦恼 创建类的实例时我们需要指定类型参数...

  • 参数化泛型getGenericSuperclass

    问题:如何获取泛型参数的实际类型?也就是class对象? 泛型参数因为泛型的不确定性,我们在写代码的时候,无法直接...

  • 34. 泛型

    泛型即参数化类型。将类型参数化,可以用在类、接口、方法上。泛型类 创建类的实例时,要指定类型的参数。或者赋值让编译...

网友评论

      本文标题:kotlin获取泛型参数反射创建对象实例

      本文链接:https://www.haomeiwen.com/subject/okvtcdtx.html