public static void main(String[] args) {
List<Integer> integers = Arrays.asList(new Integer[]{1, 2, 3, 4});
integers.add(5);
integers.forEach(System.out::println);
}
以上代码执行add等方法报错如下:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLxYjMwQTNxMjM1AjMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
原因:Arrays.asList中的ArrayList集合来自(java.util.Arrays.ArrayList)包,并非来自(java.util.ArrayList)包,里面没有add等方法
解决方案:把Arrays.asList作为构造函数的参数传入ArrayList中,底层封装了转换代码
public static void main(String[] args) {
List<Integer> integers =new ArrayList<>( Arrays.asList(new Integer[]{1, 2, 3, 4}));
integers.add(5);
integers.forEach(System.out::println);
}