Arrays.asList()可快速创建固定大小的不可变列表,适用于初始化、测试等场景,但不支持add/remove操作,且基本类型数组需用包装类,否则会将整个数组作为单个元素;若需可变列表,应将其作为ArrayList构造参数使用。
在Java开发中,我们经常需要快速创建一个不可变的列表,Arrays.asList() 是最常用的方式之一。它能将数组直接转换为 List 集合,语法简洁,适用于初始化、测试或临时数据处理场景。
通过该方法可以将一组元素快速封装成 List,无需手动 new ArrayList 并逐个 add。
List这行代码会返回一个包含三个字符串的 List。注意:返回的 List 是 java.util.Arrays.ArrayList,它是内部类,并非 java.util.ArrayList,具有特殊行为。
虽然使用方便,但必须了解其限制,避免运行时异常。
错误示例:
int[] arr = {1, 2, 3};正确做法:
List若需对列表进行增删操作,可将其作为构造参数传给 ArrayList。
List这样就得到了一个标准的、可修改的 ArrayList,既保留了初始化的便捷性,又具备完整的集合操作能力。
Arrays.asList 特别适合以下情况:
ddAll(list, elements)基本上就这些。只要记住它生成的是固定大小的 List,不支持结构性修改,就能避免大多数坑。如果需要灵活操作,套一层 ArrayList 即可。