在類型化參數化類型對象時是否可以避免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(unchecked)註釋放到方法上,儘管我真的希望看到一個「正確的」答案。 – 2015-03-03 02:51:27
它的確如此,我瀏覽過很多頁面,指南和文檔,但找不到一個清理投影對象的答案。 – Lordbalmon 2015-03-03 03:16:44
我不得不說,這是一個我有很大興趣的問題。 – 2015-03-04 05:28:48