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);

是否同时包含import
java.util.ArrayList
import java.util.Arrays
?元素类型必须相同:
Integer
vs
int
。请注意,由于基本数组
Arrays.asList(arr)没有自动装箱功能
将创建一个
列表
而不是
列表
。这是否回答了您的问题?在我的机器上,我使用Java的8(target compatibility 1.8),它编译起来没有问题,因此,也许针对您的情况的解决方案是将您的target升级到较新的Java版本库,这绝对是最简单的方法。