我正在寻找一种使用JAXB XML Serialization在Java中序列化对象的通用方法。我想要这样的东西:
public static <T> String serializeUsingJAXB(T entity) {
JAXBContext context = JAXBContext.newInstance(T.class);
// ...
}
但是,由于类型擦除,T.class
似乎不起作用。
会是什么?
答案 0 :(得分:6)
尝试entity.getClass()
答案 1 :(得分:1)
public static <T> String serializeUsingJAXB(
T entity,
Class< ? extends T> clazz
)
{
JAXBContext context = JAXBContext.newInstance( clazz );
// ...
}
答案 2 :(得分:1)
您可能还会考虑:
public static <T> String serializeUsingJAXB(T entity) {
StringWriter writer = new StringWriter();
javax.xml.bind.JAXB.marshal(entity, writer);
return writer.toString();
}
有关详细信息,请参阅javax.xml.bind.JAXB课程
答案 3 :(得分:0)
显而易见的答案是:
public static String serializeUsingJAXB(Object entity, JAXBContext context) {
// ...
}