【发布时间】:2014-12-11 06:06:51
【问题描述】:
我有一个接受com.fasterxml.jackson.core.type.TypeReference 并返回引用类型的对象的方法,但在某些情况下我只想返回该类型的新实例。
例子:
public <T> T getProperty(String property, TypeReference<T> typeReference) {
try {
return someInstanceOfReferencedType();
}
catch (IOException e) {
return ???;
}
}
如何使用typeReference 实例化<T>?我可以从中获取Type,但不知道从那里做什么...
【问题讨论】:
-
为什么是
TypeReference<T>?为什么不是Class<T>? -
使用 TypeReference 因为它可能是
Map<Foo, Bar>类型,我想保留它。 -
如果是
Map,你要实例化什么? -
我明白你的意思。我想我应该在这种情况下抛出一个异常。
标签: java types casting jackson instantiation