我有一个对象,它是一个列表 我的类型转换是:
List<Object> list = (List<Object>)o;
这似乎是正确的,但它给了我:
Type safety: Unchecked cast from Object to ArrayList
仍然......我觉得选角是正确的。
我不想使用@suppressWarning,我想解决它。
最佳答案
代码无法编译是有充分理由的。考虑:
List<Integer> o = new ArrayList<Integer>();
List<Object> list = (List<Object>)o; //Or alternatively (List)o, which does compile, but with a warning
list.add("Hello");
Integer v = o.get(0); //ClassCastException!
警告/错误表明编译器无法再防范意外的 ClassCastException。
关于java - 当我尝试将 Object 转换为 List<Object> 时发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22660188/