Java Arrays.asList

一、背景

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

 

posted @ 2019-08-23 22:28  牧云文仔  阅读(463)  评论(0编辑  收藏  举报