【发布时间】:2018-01-03 15:04:10
【问题描述】:
我有 Class<?> 字段的课程。我有一个方法,它必须在杰克逊的帮助下将字符串转换为对象。
private Class<?> myType = ...;
private String jsonRepresentationOfObject = ....;
ObjectMapper mapper = new ObjectMapper();
public <T> T get() {
return mapper.readValue(jsonRepresentationOfObject, myType);
}
有没有可能将myType 转换为T?还是因为类型擦除而不可能?
【问题讨论】:
-
你为什么不用
Class<MyType>? -
@SilverNak 我有不同的类型,所以我不能使用它。
-
签名
<T> T get()表示“我不在乎myType是什么类型,我希望T”。你认为投射myType会完成什么? -
@JFPicard 这个问题与Difference between <? super T> and <? extends T> in Java 的重复究竟是什么?我发现它与事件无关。
标签: java generics casting jackson type-erasure