我尝试使用JAXB使用一种方法序列化几个不同的对象:
简化代码:
public static void serialize(Object req) {
QName qname = ...
Class<Object> type = helper(req);
Object obj = req;
...
JAXBElement elem = new JAXBElement<Object>(qname, type, obj);
...
}
现在JAXB期望变量type
的类型为Class<Object>
(至少我认为是这样),所以我介绍了这个帮助方法:
private static Class<Object> helper(Object req) {
return (Class<Object>) req.getClass(); // UNCHECKED CAST!
}
但是这最后一行代码产生了一个未经检查的强制警告。 我怎样才能做到对不对?
答案 0 :(得分:0)
尝试使用以下
req.getClass().asSubclass(Object.class);