Arrays.asList 可快速将数组转为列表,但生成的列表不可变且与原数组共享数据,修改任一方会影响另一方,需注意基本类型应使用包装类并避免添加删除操作。

在Java开发中,Arrays.asList 是一个非常实用的工具方法,可以快速将数组转换为列表。它位于 java.util.Arrays 类中,使用简单,但在实际应用中有一些需要注意的细节和技巧。
Arrays.asList 基本用法
最常见也是最基本的用法是将一组元素快速封装成 List:
这种方式适合在初始化时快速创建不可变长度的列表,常用于测试、参数传递等场景。
支持基本类型数组的注意事项
Arrays.asList 不能直接用于基本数据类型数组(如 int[])。因为泛型不支持基本类型,传入基本类型数组会被当作一个对象处理:
立即学习“Java免费学习笔记(深入)”;
int[] arr = {1, 2, 3}; List正确的做法是使用包装类型:
生成的列表是固定大小的
通过 Arrays.asList 创建的列表底层是数组的视图,**不支持添加或删除元素**。调用 add() 或 remove() 方法会抛出 UnsupportedOperationException:
如果需要可变列表,应将其复制到新的 ArrayList 中:
修改原数组会影响列表
由于 Arrays.asList 返回的是数组的“视图”,所以对原数组的修改会反映到列表中,反之亦然:
这种特性在某些场景下很有用,但也容易引发意外,需特别注意数据一致性。
基本上就这些。掌握 Arrays.asList 的使用技巧,能让你写代码更高效,但要小心它的限制,尤其是不可变结构和引用共享的问题。合理使用,才能避免坑。










