java - 什么是未经检查的类型转换,我该如何检查?

标签 java eclipse casting unchecked

我想我明白了未经检查的类型转换的含义(从一个不同类型的转换转换到另一个),但是“检查”类型转换是什么意思?如何检查类型转换以避免在 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/

相关文章:

java - 如何返回没有来自其他类的嵌套对象的 JSON 对象?

java - bean 验证需要哪些 jar?

java - 如何查看我的 Eclipse 版本?

eclipse - 无法为 Eclipse 安装 Maven 插件

java - Eclipse PDE - ViewPart onExit 命令?

c++ - `static_cast<bool>(x)` 和 `x != 0.0` 之间有区别吗?

c# - 从具有未知签名的 MethodInfo 创建表达式函数

java - 仅保存图像的一部分而不是整个图像,我应该修复什么?

java - 有没有办法在 Android 中确定 Activity 的内容 View 是否已创建/显示?

c - 理解下面一行