приведение Arrays.asList вызывает исключение: java.util.Arrays $ ArrayList не может быть приведен к java.util.ArrayList

Я новичок в Java и пытаюсь понять, почему первый фрагмент кода не вызывает это исключение, а второй - делает . Поскольку массив строк передается в Arrays.asList в обоих случаях, не должны ли оба фрагмента создавать исключение или не создавать исключение?

Exception in thread "main" java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

Первый фрагмент (не вызывает исключения):

ArrayList<ArrayList<String>> stuff = new ArrayList<ArrayList<String>>();
String line = "a,b,cdef,g";
String delim = ",";
String[] pieces = line.split(delim);
stuff.add((ArrayList<String>) Arrays.asList(pieces));

Второй фрагмент (вызывает указанное выше исключение):

ArrayList<ArrayList<String>> stuff = new ArrayList<ArrayList<String>>();
String[] titles = {"ticker", "grade", "score"};
stuff.add((ArrayList<String>) Arrays.asList(titles));

Если уместно, я использую JavaSE 1.6 в Eclipse Helios.

38
задан DannyTree 10 July 2011 в 12:10
поделиться