解读
首先,该方法是将数组转化为list。
有以下几点需要注意:
- 该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean)
- 该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
- 返回的是固定长度的 list,所以不支持 add 和 remove 方法
示例
- 将数组与列表链接起来,当更新其中之一时,另一个自动更新
String[] a = new String[]{"1", "2"};
List<String> b = Arrays.asList(a);
List<String> c = new ArrayList<>(Arrays.asList(a));
b.forEach(System.out::println); // 1 2
c.forEach(System.out::println); // 1 2
a[0] = "3";
a[1] = "4";
b.forEach(System.out::println); // 3 4
c.forEach(System.out::println); // 1 2
- 返回的是固定长度的 list,所以不支持 add 和 remove 方法
String[] a = new String[]{"1", "2"};
List<String> list = Arrays.asList(a);
list.add("3");
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)