爲什麼下面的代碼無法執行,雖然它不會檢測到來自IDE的錯誤。它會編譯得很好。ArrayList無法使用(String [])list.toArray()轉換爲String數組。爲什麼?
ArrayList<String> a = new ArrayList<String>();
a.add("one");
a.add("two");
a.add("three");
String [] b = (String[])a.toArray();
for(int i =0;i<b.length;++i){
System.out.println(b[i]);
}
但它會給出以下錯誤。
嵌套異常是java.lang.ClassCastException:[Ljava.lang.Object;不能將[ ]轉換爲[Ljava.lang.String;
任何人都可以給出一個明確的解釋嗎?之前已經問過同樣的問題,並提供了一些解決方案。但對這個問題的明確解釋將非常感謝。
肯定。但爲什麼上述不起作用。我只需要知道爲什麼我們不能使用它。 – prime
我正在編輯.... – Maroun
誰downvoted?爲什麼?我真的很想從我的錯誤中學習。不要低估,不要提及爲什麼..這是一個非常不好的習慣。 – Maroun