我有以下代码将xml解码到Java对象中。我想看看是否可以通过使用Java泛型而不是将对象类型用作返回值来增强此代码。
protected static <T> Object unmarshall(String xml, Class<T> clazz)
throws JAXBException {
JAXBContext jc = JAXBContext.newInstance(clazz);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Object obj = unmarshaller.unmarshal(new StringReader(xml));
return obj;
}
有什么建议。
最佳答案
是的,您可以稍微增强一下代码:
protected static <T> T unmarshall(String xml, Class<T> clazz)
throws JAXBException {
JAXBContext jc = JAXBContext.newInstance(clazz);
Unmarshaller unmarshaller = jc.createUnmarshaller();
T obj = clazz.cast(unmarshaller.unmarshal(new StringReader(xml)));
return obj;
}