【发布时间】:2015-05-03 13:04:30
【问题描述】:
在类型转换参数化类型对象时是否可以避免unchecked 警告?例如,下面是我面临的实际情况,var1 是JComboBox<RandomType> 类型我希望将其存储在Map 中,然后检索它迫使我进入以下情况。
JComboBox<RandomType> var1 = new JComboBox<RandomType>();
Object varRaw = var1;
JComboBox<RandomType> var2 = (JComboBox<RandomType>) varRaw;
JComboBox<RandomType> var3;
if (JComboBox.class.isAssignableFrom(varRaw.getClass())) {
var3 = JComboBox.class.cast(varRaw);
}
常规转换和条件转换都会产生相同的警告。
在这种情况下甚至可以避免该警告而无需使用@SuppressWarnings 注释吗?
【问题讨论】:
-
你总是可以简单地将suppresswarnings(未选中)注释扔到方法上,尽管我实际上希望看到一个“正确”的答案。
-
确实如此,我浏览了许多页面、指南和文档,但找不到清理投射对象的答案。
-
我不得不说这是一个我非常感兴趣的问题。
标签: java casting parameterized-types