![](/img/trans.png)
[英]Java generics: why someObject.getClass() doesn't return Class<? extends T>?
[英]How to cast someobject.getClass() to Class<Object> without SuppressWarnings(“unchecked”)?
我正在嘗試使用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!
}
但是,這最后一行代碼會產生未經檢查的強制轉換警告。 我該如何正確處理?
嘗試使用以下內容
req.getClass().asSubclass(Object.class);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.