zoukankan      html  css  js  c++  java
  • 消除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。

  • 相关阅读:
    你人生中的那口井挖了没有?
    Stream接口
    console (控制台)
    assert.fail()
    assert.strictEqual()
    assert.equal()
    assert.ifError()
    assert.ok()
    nodejs assert 模块
    闭包
  • 原文地址:https://www.cnblogs.com/nexiyi/p/how_to_avoid_unchecked_cast.html
Copyright © 2011-2022 走看看