有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数组$ArrayList不能转换为java。util。java中的ArrayList

将数组转换为list,并将list转换为arrayList

    int[] array = new int[5];
    array[0] = 1;array[1] = 2;array[2] = 3;array[3] = 4;array[4] = 5;
    List list = Arrays.asList(array);
    ArrayList alist = new ArrayList();
    alist =  (ArrayList) list;

例外情况

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


共 (2) 个答案

  1. # 1 楼答案

    数组。asList返回java类型的对象。util。Arrays$ArrayList,但它不是扩展ArrayList

    只需更改最后两行:

    List alist = list;
    

    一切都会好起来的

  2. # 2 楼答案

    Arrays在内部有自己的private static class ArrayList<E>。它与java.util.ArrayList类无关。这些课程是不同的

    您可能对源代码中的这一行感到困惑:

    return new ArrayList<>(a);
    

    它只是一个嵌套类的创建。那里没有java.util.ArrayList导入