gpt4 book ai didi

Java:将数组转换为列表异常

转载 作者:行者123 更新时间:2023-12-02 04:36:53 25 4
gpt4 key购买 nike

Arrays 类包含一个将数组转换为列表的函数。当我将 Integer 数组转换为 ArrayList 时,它会抛出异常。

Integer[] array = new Integer[]{2, 4, 3 , 9};
ArrayList<Integer> test = (ArrayList<Integer>) Arrays.asList(array);

当我转换Integer列表时,Arrays.asList(array)返回Integer类型的List code> 到 ArrayList,会抛出异常

 java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList

ArrayList 实现了 List 接口(interface),那么为什么会抛出异常呢?

当我尝试使用 List 引用变量直接捕获对象时,效果很好。

最佳答案

Arrays.asList 返回 List 的自定义解释,它不是 java.util.ArrayList,而是一个 AbstractList 是固定大小的。

您需要将所有内容包装在一个新列表中:

List<Integer> newList = new ArrayList<>(Arrays.asList(array));

关于Java:将数组转换为列表异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23222111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com