java数组转list(Arrays .asList)
习惯性的错误代码:
Integer[] intArr = {1,2,3}; List<Integer> lst = Arrays .asList(intArr); lst.add(4);
报UnsupportedOperationException异常,原因是Arrays .asList() 返回的固定大小的列表,无法进行add、remove等操作;
正确的用法:
1、遍历数组添加,普通的for循环写法略,Java8可使用lambda表达式简化:
Integer[] intArr = {1,2,3}; List<Integer> lst = new ArrayList<>(); Arrays.stream(intArr).forEach((x) -> lst3.add(x));
2、new一个新list
Integer[] intArr = {1,2,3}; List<Integer> lst = new ArrayList<>(Arrays .asList(intArr)); lst.add(4);