一、背景
Arrays.asList是为打印数组设计的,只是恰好能将数组转为集合
二、源码
1. Arrays.asList的返回值是静态内部类Arrays.ArrayList,而不是ArrayList
2. Arrays.ArrayList直接把外部数组赋值给内部泛型数组;而ArrayList将其他集合转换为数组后,拷贝到自己内部的数组
三、坑
1. 不能把基本类型的数组转为list,因为基本类型不能泛型化
2. 原数组和转换成的集合会同步改变,改变原数组会导致转换后的集合改变
3. Arrays.ArrayList是定长的,没有add/remove方法
四、数组转ArrayList的正确用法
1. 基本类型 CollectionUtils.arrayToList()
2. new ArrayList<>(Arrays.asList())