Java 如何解决这个ArrayList问题?
我在互联网上搜索过,我所做的似乎是标准的转换操作,但它仍然告诉我:Java 如何解决这个ArrayList问题?,java,arrays,Java,Arrays,我在互联网上搜索过,我所做的似乎是标准的转换操作,但它仍然告诉我: Cannot resolve constructor 'ArrayList(java.util.List<T>)' 无法解析构造函数'ArrayList(java.util.List)' 当以同样的方式进行字符串数组转换时,我也没有任何问题。这是我的代码: public class Main { public static void main(String[] args) { int[]
Cannot resolve constructor 'ArrayList(java.util.List<T>)'
无法解析构造函数'ArrayList(java.util.List)'
当以同样的方式进行字符串数组转换时,我也没有任何问题。这是我的代码:
public class Main {
public static void main(String[] args) {
int[] arr = {1, 10, 1, 30, 50, 30};
ArrayList<Integer> arrList = new ArrayList<Integer>(Arrays.asList(arr));
System.out.println(arrList);
}
}
公共类主{
公共静态void main(字符串[]args){
int[]arr={1,10,1,30,50,30};
ArrayList arrList=新的ArrayList(Arrays.asList(arr));
系统输出打印项次(arrList);
}
}
有什么想法吗?这应该行得通:
public static void main(String []args){
Integer[] arr = {1, 10, 1, 30, 50, 30};
ArrayList<Integer> arrList = new ArrayList<Integer>(Arrays.asList(arr));
System.out.println(arrList);
}
publicstaticvoidmain(字符串[]args){
整数[]arr={1,10,1,30,50,30};
ArrayList arrList=新的ArrayList(Arrays.asList(arr));
系统输出打印项次(arrList);
}
注意,由于基本数组数组没有自动装箱功能,asList(arr)
将创建一个列表
,而不是列表
如果要将该数组转换为列表
,请尝试以下操作:
//instead of boxed() you could use one of the mapToXX methods
List<Integer> arrList = Arrays.stream(arr).boxed().collect(Collectors.toList());
//可以使用mapToXX方法之一,而不是boxed()
List arrList=Arrays.stream(arr.boxed().collect(Collectors.toList());
数组列表
构造函数将整数作为对象而不是基元数组。
因为字符串已经是引用类型(对象),所以字符串没有问题。
您只需将数组arr
创建为整数即可
Integer[] arr = new Integer[] {1, 10, 1, 30, 50, 30};
希望下面的代码能帮助你
int[] arr = {1, 10, 1, 30, 50, 30};
ArrayList<Integer> arrList = IntStream.of(arr)
.boxed().collect(Collectors.toCollection(ArrayList::new));
System.out.println(arrList);
int[]arr={1,10,1,30,50,30};
ArrayList arrList=IntStream.of(arr)
.boxed().collect(collector.toCollection(ArrayList::new));
系统输出打印项次(arrList);
是否同时包含importjava.util.ArrayList
和import java.util.Arrays
?元素类型必须相同:Integer
vsint
。请注意,由于基本数组Arrays.asList(arr)没有自动装箱功能
将创建一个列表
而不是列表
。这是否回答了您的问题?在我的机器上,我使用Java的8(target compatibility 1.8),它编译起来没有问题,因此,也许针对您的情况的解决方案是将您的target升级到较新的Java版本库,这绝对是最简单的方法。