日期:2014-05-20  浏览次数:20738 次

如何判断返回值是否是指定的泛型.
Java code

    public static <T> T getTest(String path, Class<T> cls) {
        T t = (T)getBBBB(path);
        //TODO 想去掉此警告,“Type safety: Unchecked cast from Object to T”        
        return t;
    }
    
    /**
     * 这个是API接口,无法更改
     */
    public static Object getBBBBB(String path)
    {
    
    }



------解决方案--------------------
你把 Object 强转成 T 有警告很正常!
------解决方案--------------------
instanceof和强转有什么关系?你是写了if吧,因为有可能不执行下面的代码所以不会有警告。

你下溯有可能失败所以会有警告。