首先,该方法是将数组转化为list。有以下几点需要注意:
(1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean)
(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
(3)不支持add和remove方法
也就是说 Arrays.asList只能用来遍历,无法用做其他添加删除方法
测试代码
public class Test {
public static void main(String[] args) {
String s="小周,小艾,小晓";
System.out.println(Arrays.asList(s.split(",")));
Integer i=123990;
System.out.println(Arrays.asList(i));
}
}
如果想要把Arrays.asList有add和remove方法呢?那就如下操作:
List<String> arrayList=new ArrayList<>(list);
arrayList.add("4");
public class Test {
public static void main(String[] args) {
String s="1,2,3";
List<String> list=Arrays.asList(s.split(","));
System.out.println(list);
List<String> arrayList=new ArrayList<>(list);
arrayList.add("4");
System.out.println(arrayList);
}
}
- Collections.singletonList()返回的是不可变的集合,但是这个长度的集合只有1,可以减少内存空间。但是返回的值依然是Collections的内部实现类,同样没有add的方法,调用add,set方法会报错