我在將對象數組轉換爲鍵值對數組時出現問題, 使用鍵和值對象的泛型類型。這是一個簡單的例子。Java實例化新的Map.Entry數組
public class Main {
public static void main(String[] args) {
array = (Map.Entry<Integer, Integer>[]) new Object[1];
}
private static Map.Entry<Integer, Integer>[] array;
}
將Map.Entry更改爲一個類(而不是接口)也無法做到這一點。
錯誤跟蹤:
run:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.util.Map$Entry;
at lab2.Main.main(Main.java:13)
Java Result: 1
爲什麼你會認爲'new Object [1]'與Map.Entry []'類型兼容?當然*一個新的vanilla Object []'數組不能轉換爲更具體的東西。同樣,這也不合法:'(String)new Object();'。 –
2010-11-02 16:51:38