Spring - Arrays.asList
原创
©著作权归作者所有:来自51CTO博客作者郑阳sunior的原创作品,请联系作者获取转载授权,否则将追究法律责任
不支持原生类型
原生类型:byte, short, int, long, float, double, boolean, char
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
List list1 = Arrays.asList(array1);
System.out.println("list size: " + list1.size()); // 1
Integer[] array2 = {1, 2, 3}; // 包装类
List list2 = Arrays.asList(array2);
System.out.println("list size: " + list2.size()); // 3
String[] array3 = {"1", "2", "3"}; // 引用类型
List list3 = Arrays.asList(array3);
System.out.println("list size: " + list3.size()); // 3
}
不支持add
大小固定,不支持add/delete
public class ArrayAsListTest {
public static void main(String[] args) {
String[] array = {"1", "2", "3"};
List list = Arrays.asList(array);
list.add("5");
System.out.println(list.size());
}
}
// 运行结果
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at object.ArrayAsListTest.main(ArrayAsListTest.java:11)
大小固定
数组大小是固定的,Arrays.asList的本质是数组,因此大小固定。
public static void main(String[] args) {
String[] array = {"1", "2", "3"};
List list = Arrays.asList(array);
System.out.println(list);
array[0] = "-1";
System.out.println(list);
}
/** output
[1, 2, 3]
[-1, 2, 3]
*/
大小虽然固定,但是可以改变特定位置的值,与数组一样。