在 Java 中如何实现数组和 List 之间的转换?
- 数组转 List:使用 Arrays. asList(array) 进行转换。
- List 转数组:使用 List 自带的 toArray() 方法。
代码如下:
// list to array List<String> list = new ArrayList<String>(); list.add("SNOW"); list.add("JOOO"); list.toArray(); // array to list String[] array = new String[]{"西安","4杭州"}; Arrays.asList(array);
但是这期间有些暗坑:
暗坑1:
使用 Arrays. asList(array) 时候,参数放基本类型会有暗坑:
int[] arr = {1, 2, 3 ,4 ,5, 6}; List list = Arrays. asList(arr);
此时 会认为你存入 list 集合的是一个数组对象,也就意味着此时 list 的长度为1。这块要注意!
暗坑2:
Arrays. asList(array) 返回的 List 不支持修改。
暗坑3:
适用 Arrays. asList(array) 的时候,对原始数组修改会影响到我们获取的那个List.