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

猜你喜欢

转载自www.cnblogs.com/june0816/p/11402976.html