java.util.Arrays.asList()
作用:将一个数组转换为 List:
String[] myArray = { "Apple", "Banana", "Orange" };
List<String> myList = Arrays.asList(myArray); //将需要转化的数组作为参数
1
2
2
或者
List<String> myList = Arrays.asList("Apple", "Orange");//直接把数组元素作为参数
1
# 注意点:
# 不能将基本数据类型的数组作为参数,而要用包装类(对象型)数组或者stream流
:::info
public static
public class Test {
public static void main(String[] args) {
int[] intArray = { 5, 10, 21 };
//Java 8 新引入的 Stream 操作
List myList = Arrays.stream(intArray).boxed().collect(Collectors.toList());
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 不支持add()、remove()、clear()等方法,即固定大小
原因:内部类没有实现 解决:创建一个真正的 ArrayList
public class Test {
public static void main(String[] args) {
String[] myArray = { "Apple", "Banana", "Orange" };
List<String> myList = new ArrayList<String>(Arrays.asList(myArray));
myList.add("Guava");
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
其中,把 asList 方法返回的集合作为构造器的参数传入,返回真正的集合。
其一构造器:
c :the Collection
# 总结
如果你的List只是用来遍历,就用Arrays.asList()。 如果你的List还要添加或删除元素,还是乖乖地new一个java.util.ArrayList,然后一个一个的添加元素。
编辑 (opens new window)
上次更新: 2023/05/26, 15:58:27