Java:如何从TypeReference对象创建新实例?

时间:2014-12-11 06:06:52

标签: java types casting jackson instantiation

我有一个方法接受com.fasterxml.jackson.core.type.TypeReference并返回引用类型的对象,但在某种情况下我只想返回该类型的新实例。

示例:

public <T> T getProperty(String property, TypeReference<T> typeReference) {
    try {
        return someInstanceOfReferencedType();
    }
    catch (IOException e) {
        return ???;
    }
}

如何使用<T>实例化typeReference?我可以从中获取Type,但不知道该怎么办......

1 个答案:

答案 0 :(得分:0)

您可以将TypeReference的实例创建为:

List<String> l1 = new TypeReference<ArrayList<String>>() {}.newInstance();

所以你可以调用getProperty方法:

List<String> list = getProperty("property1",new TypeReference <>(){});
//Specify List<> in <> of TypeReference.