通过反射在Java中调用泛型方法

侯赛因·扎瓦维(Hussein Zawawi):

如何通过反射在Java中调用自定义泛型方法?

class Person
{
  public <T> void print(T t)
   {
      System.out.println(t.toString());
   }
}
埃德温·巴克(Edwin Buck):

泛型在编译时被擦除,它们仅向编译器提供额外的信息来确定错误。它们实际上并不更改.class文件中方法的签名

这意味着您在Java中通过反射调用泛型方法的方式与在Java中调用非泛型方法的方式完全相同,不同之处在于,不是指定类型的而是T指定类型的Object

关于如何通过反射调用常规方法的教程太多了,我犹豫要添加另一个方法。但是,如果您确实需要有关如何通过反射调用方法的指导,请在下面添加注释,我将添加必要的代码。

如果发现事情没有按预期进行,则可以始终javap在已编译的类文件上运行,以验证您在参数列表中使用的对象正确。如果您指定<T extends List>类型通用签名,则结果参数对象可能实际上是一个List对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过反射调用本地泛型方法

如何通过反射在Java中调用构造函数?

如何使用反射在Java中调用void方法

通过反射通过表达式调用泛型方法

通过反射调用泛型方法。System.ArgumentException发生

通过反射在类上调用多个通用接口方法

如何通过反射在对象上调用方法

如何使用反射调用泛型方法?

通过反射在Java中调用吸气剂:重复调用它的最快方法是什么(性能和可伸缩性明智)?

如何使用反射在Java中调用带有可变参数的方法?

Java中的泛型防止方法的调用

使用反射在运行时推断Java泛型参数

Java反射在运行时实例化泛型

将lambda作为参数分配给通过反射调用的泛型方法

通过派生类型使用反射调用泛型基类上的方法

通过反射调用泛型方法时,“对象与目标类型不匹配”

Java中泛型的限制和反射

使用反射在字段上调用方法

通过反射将子类类型传递给Java泛型方法不会引发异常

通过反射获取C#中的扩展方法的泛型重载

Java:通过功能界面中的反射调用方法

java中如何通过反射调用setter方法

使用反射在单个实用程序方法中调用类的不同方法的最佳方法

使用Scala中的泛型调用Java静态方法

您如何在Java中调用泛型类型的方法?

从 Java 中的匿名泛型类调用重载方法

使用反射调用具有泛型类型参数的泛型方法

如何使用反射调用具有泛型返回类型的泛型方法

Java泛型和反射!