我想我明白了未经检查的类型转换的含义(从一个不同类型的转换转换到另一个),但是“检查”类型转换是什么意思?如何检查类型转换以避免在 Eclipse 中出现此警告?
最佳答案
详细说明彼得写的内容:
从非泛型类型到泛型类型的转换可能在运行时工作得很好,因为泛型参数在编译期间被删除,所以我们留下了合法的转换。但是,由于对类型参数的错误假设,代码稍后可能会失败并出现意外的 ClassCastException
。例如:
List l1 = new ArrayList();
l1.add(33);
List<String> l2 = (List<String>) l1;
String s = l2.get(0);
第 3 行未经检查的警告表明编译器无法保证类型安全,即以后可能会发生意外的 ClassCastException。实际上,这发生在执行隐式转换的第 4 行。
关于java - 什么是未经检查的类型转换,我该如何检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693180/