为什么下面的代码无法执行,尽管它不会从 IDE 检测为错误。它会编译得很好。
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;
谁能给个明确的解释?之前也问过同样的问题,并提供了一些解决方案。但对问题的清晰解释将不胜感激。