Java 反射 : how do the Method. getGenericXXXXX 方法有效吗?

标签 java generics reflection

我刚刚注意到有一个 Method.getGenericReturnType()以及Method.getReturnType()以及异常类型和参数类型的类似对。

我认为 Java 中的泛型是通过类型删除来工作的。那么这些方法在运行时如何工作呢? (我将在运行时使用它们做什么?)

最佳答案

在声明(方法、字段、类、参数)中具有具体类型部分的泛型将被保留。

所以你可以从这个声明中获取类型

 public List<String> toString(List<Foo> foos) { .. }

但是你不能从这段代码:

public List<E> transform(List<E> list) {
  // E is not accessible at runtime
}

关于Java 反射 : how do the Method. getGenericXXXXX 方法有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6021179/

相关文章:

java - 与这个简单的java面向对象程序作斗争

java - 如果我以原始类型作为参数调用泛型方法,将使用什么类型参数?

java - Android Studio 3.1.3 Gradle 同步错误。无法下载 Gradle-Core.jar

java - 为什么这个 do while 循环无限运行?

java - 泛型类的 XStream 反序列化返回 java.lang.Object

Java使用反射调用类的main()方法

c# - 如何生成对方法参数的 `Expression` 引用

c# - 在 IL Emit 中将对象添加到循环列表 - 公共(public)语言运行时检测到无效程序

java - 使用 Maven 创建独立的源代码发布

java - 从 javac -Xlint :unchecked 得到警告