我刚刚注意到有一个 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/