Arrays.asList()
是 Java 中的一个实用方法,它可以将数组转换为一个固定大小的列表。这个方法属于 java.util.Arrays
类。
Arrays.asList()
方法接受一个数组作为参数,并返回一个 List
接口的实例,该实例包含数组中的元素。需要注意的是,返回的列表是由原始数组支持的,因此对列表的修改会反映到原始数组中,反之亦然。
Arrays.asList()
可以处理各种类型的数组,包括基本数据类型数组和对象数组。
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
// 创建一个字符串数组
String[] array = {"Apple", "Banana", "Cherry"};
// 使用 Arrays.asList() 将数组转换为列表
List<String> list = Arrays.asList(array);
// 输出列表内容
System.out.println(list); // 输出: [Apple, Banana, Cherry]
// 修改列表中的一个元素
list.set(1, "Blueberry");
// 输出修改后的数组内容
System.out.println(Arrays.toString(array)); // 输出: [Apple, Blueberry, Cherry]
}
}
UnsupportedOperationException
由于 Arrays.asList()
返回的列表是固定大小的,尝试添加或删除元素会抛出异常。
解决方法:
new ArrayList<>(Arrays.asList(array))
创建一个可变大小的列表。List<String> mutableList = new ArrayList<>(Arrays.asList(array));
mutableList.add("Date"); // 这将不会抛出异常
Arrays.asList()
对于基本数据类型数组会有一些特殊的行为,它会将整个数组作为一个元素放入列表中。
解决方法:
Integer[]
而不是 int[]
。Integer[] intArray = {1, 2, 3};
List<Integer> intList = Arrays.asList(intArray); // 正确的行为
Arrays.asList()
是一个方便的工具,用于在数组和列表之间进行转换,但在使用时需要注意其返回的列表是固定大小的,并且对于基本数据类型数组有特殊的行为。通过理解这些基础概念和潜在问题,可以更有效地使用这个方法。
领取专属 10元无门槛券
手把手带您无忧上云