消除unchecked cast Warning


在Java中,經常會將一個Object類型轉成自己想要的Map、List等等。通常的做法是:

Object obj = ....;
Map<String, String> castMap = (HashMap<String, String>) obj;

在這里會產生unchecked cast warning,有代碼潔癖的就會想辦法干掉它。解決辦法就是在方法上添加一個注解@SuppressWarnings("unchecked") ,比較優雅的方案就是提供一個工具類,然后寫個專門cast的方法來做這個工作。

    @SuppressWarnings("unchecked")
    public static <T> T cast(Object obj) {
        return (T) obj;
    }

於是乎上面的就可以這么解決了:

Object obj = ....;
Map<String, String> castMap = cast(obj); //import static method

更健壯一點的需要處理一下這里會拋出的ClassCastException,打個warn日志干個啥的都OK。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM