Arrays.asList()用于将引用类型数组转为固定大小的List,不支持增删操作且与原数组共享数据,传入基本类型数组会将其视为单个元素,正确做法是使用包装类型,如需可变列表应通过new ArrayList<>(Arrays.asList(array))创建副本。

在Java中,Arrays.asList() 是一个便捷的方法,用于将数组转换为列表(List)。这个方法属于 java.util.Arrays 类,返回的是一个固定大小的 List,底层基于原数组,不支持结构性修改操作。
该方法适用于引用类型数组(如 String[]、Integer[]),不能直接用于基本数据类型数组(如 int[])。
示例:String[] array = {"apple", "banana", "cherry"};
List<String> list = Arrays.asList(array);
System.out.println(list); // 输出: [apple, banana, cherry]
也可以直接传入元素:
List<String> list = Arrays.asList("a", "b", "c");
虽然使用简单,但有几点必须注意:
立即学习“Java免费学习笔记(深入)”;
int[] numbers = {1, 2, 3};
List<int[]> list = Arrays.asList(numbers); // 得到的是 List 包含一个 int[] 元素
System.out.println(list.size()); // 输出 1,不是预期的 3
Integer[] numbers = {1, 2, 3};
List<Integer> list = Arrays.asList(numbers);
System.out.println(list.size()); // 输出 3
如果需要一个真正可变的 List,建议通过构造函数复制一份:
String[] array = {"x", "y", "z"};
List<String> modifiableList = new ArrayList<>(Arrays.asList(array));
modifiableList.add("w"); // 现在可以添加
Arrays.asList() 适合快速创建不可变列表,尤其在初始化或临时使用时非常方便。但要注意它对基本类型无效、不支持增删操作,并且与原数组联动。若需灵活操作,应封装到新的 ArrayList 中。
基本上就这些。
以上就是如何在Java中使用Arrays.asList转换数组的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号