【发布时间】:2018-01-02 09:44:51
【问题描述】:
我有一个方法对象。
我想用泛型提取返回 Type 并将其转换为 Class 以便将此类信息传递给 Spring PropertyResolver。
Type type = myMethod.getGenericReturnType();
Class<?> returnType = /* ??? */;
environment.getProperty(key, returnType);
【问题讨论】:
-
既然
getProperty只接受Class参数,为什么不直接使用myMethod.getReturnType()呢? -
@AndyTurner 我这样做会丢失泛型信息
-
@pixel 但是由于
getProperty只接受Class参数- 并且没有List<String>.class这样的东西,例如,只有List.class- 你会怎么做呢?跨度> -
@AndyTurner 你是对的 - 我需要做一些更复杂的事情才能用泛型转换价值。我发现这段代码正在做类似于我想要实现的事情:github.com/lviggiano/owner/blob/master/owner/src/main/java/org/…
标签: java generics reflection types spring-properties