java - 没有找到适合 ArrayList(List)
问题描述
不是“没有找到合适的构造函数”的副本,也不是“没有合适的构造函数”的副本。
我的目标是将数组转换为arrayList。我看过Create ArrayList from array
所以我尝试了:
ArrayList<Integer> al = new ArrayList<Integer>(Arrays.asList(arr));
其中arr
是一个整数数组。
在编译时,我得到:
error: no suitable constructor found for ArrayList(List<int[]>)
所以我查看了文档并找到了一个构造函数:
ArrayList(Collection<? extends E> c)
由于ArrayList<Integer>remaining = new ArrayList<Integer>(new Stack<Integer>());
编译时没有错误,我推断传递 List<> (可能还有 的任何其他子接口Collection
)会导致错误,而任何实现的类Collection
都会编译。
Create ArrayList from array的 OP询问过:
我有一个初始化为的数组:
Element[] array = {new Element(1), new Element(2), new Element(3)};
我想将此数组转换为 ArrayList 类的对象。
ArrayList<Element> arraylist = ???;
这正是我想做的。
为什么接受的答案:
新的 ArrayList<>(Arrays.asList(array))
为那个 OP 工作,但不为我工作?我是否忽略了一些非常小的东西?
编辑:我忘记了关键字“新”。现在添加它。同样的错误
解决方案
您正在传递一个int[]
to Arrays.asList()
,这意味着它返回 a List<int[]>
,这对于 a 的构造函数是不可接受的ArrayList<Integer>
。
如果您正在创建一个ArrayList<int[]>
,则以下内容将起作用:
ArrayList<int[]> al = new ArrayList<int[]>(Arrays.asList(arr));
但是,我认为这不是你想要的。您可能应该从 aInteger[]
而不是int[]
. 然后Arrays.asList()
会产生一个List<Integer>
,可以传递给ArrayList<Integer>
构造函数。
推荐阅读
- java - 如何将mysql查询转换为JPQL
- azure - Azure 虚拟广域网负载平衡
- kubernetes - Pod 自我删除
- google-apps-script - 使用谷歌应用脚本创建一个充满图像的文档
- javascript - 如何在 package.json 中使用带有 npm 7.xx 的变量?
- java - java中String到arrayList的转换问题
- json - Pug.js 在每个循环中使用空格键或空格访问 json 键
- sql - 使用 SQL Server 选择除 ONE 之外的所有列
- python - 如何在 Jupyter Notebook 中获得多个 True/False 答案行?
- assembly - YASM mov 指令给出错误:操作数 1 的大小无效