casting Arrays.asList causing exception: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList 将Arrays.asList强制转换导致异常:java.util.Arrays$ArrayList无法转换为java.util.ArrayList

9 浏览
0 Comments

casting Arrays.asList causing exception: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList 将Arrays.asList强制转换导致异常:java.util.Arrays$ArrayList无法转换为java.util.ArrayList

我对Java还不熟悉,正在努力理解为什么第一个代码片段不会引发异常,而第二个会。由于在两种情况下都传递了一个字符串数组到Arrays.asList中,所以这两个代码片段应该都产生异常或不产生异常才对吧?

第一个代码片段(不会引发异常):

ArrayList> stuff = new ArrayList>();

String line = "a,b,cdef,g";

String delim = ",";

String[] pieces = line.split(delim);

stuff.add((ArrayList) Arrays.asList(pieces));

第二个代码片段(引发上述异常):

ArrayList> stuff = new ArrayList>();

String[] titles = {"ticker", "grade", "score"};

stuff.add((ArrayList) Arrays.asList(titles));

如果相关的话,我在Eclipse Helios中使用的是JavaSE 1.6版本。

0