簡體   English   中英

如何將someobject.getClass()轉換為Class <Object> 沒有SuppressWarnings(“未選中”)?

[英]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期望變量typeClass<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM