码迷,mamicode.com
首页 > 其他好文 > 详细

消除unchecked cast Warning

时间:2014-05-17 00:32:10      阅读:311      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   java   

在Java中,经常会将一个Object类型转成自己想要的Map、List等等。通常的做法是:

bubuko.com,布布扣
Object obj = ....;
Map<String, String> castMap = (HashMap<String, String>) obj;
bubuko.com,布布扣

在这里会产生unchecked cast warning,有代码洁癖的就会想办法干掉它。解决办法就是在方法上添加一个注解@SuppressWarnings("unchecked") ,比较优雅的方案就是提供一个工具类,然后写个专门cast的方法来做这个工作。

bubuko.com,布布扣
    @SuppressWarnings("unchecked")
    public static <T> T cast(Object obj) {
        return (T) obj;
    }
bubuko.com,布布扣

于是乎上面的就可以这么解决了:

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

更健壮一点的需要处理一下这里会抛出的ClassCastException,打个warn日志干个啥的都OK。

消除unchecked cast Warning,布布扣,bubuko.com

消除unchecked cast Warning

标签:style   blog   class   code   c   java   

原文地址:http://www.cnblogs.com/nexiyi/p/how_to_avoid_unchecked_cast.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!