调用另一个泛型方法的通用方法 - util方法返回Class <customer>而不是Customer </customer>

时间:2012-07-05 12:56:02

标签: java generics

我使用simpleframework来解析XML字符串并将其转换为对象。

Serializer serializer = new Persister();
try {
    Customer model = serializer.read(Customer.class, xmlString);
} catch (Exception e) {
    e.printStackTrace();
}

它运作良好,但我会有一些类转换。我做了一个我用来调用的方法:

Utils.parseXml(Customer.class, xmlString);

在实施之下:

public class Utils {
    public static <T> T parseXml(T cls, String data) {
        Serializer serializer = new Persister();
        T model = null;

        try {
            model = serializer.read(cls, data);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return model;
    }
}

问题是这个方法会返回Class<Customer>而不是我期望的Customer

我该怎么做才能获得有效的结果?

1 个答案:

答案 0 :(得分:6)

将方法定义中的T cls更改为Class<T>