Roa*_*oam 16 java arrays list arraylist
该方法Arrays.asList(<T>...A)
返回一个List
表示A
.此处返回的对象List
由数组支持,但不是ArrayList
对象.
我正在寻找对象Arrays.asList()
返回和对象之间的差异 - ArrayList
一个快速的来源,告诉这些而不深入代码.
TIA.
Spa*_*kOn 33
当您调用Arrays.asList时,它不会返回java.util.ArrayList
.它返回一个java.util.Arrays$ArrayList
不可变列表.您无法添加它,也无法从中删除.
如果您尝试添加或删除它们中的元素,您将获得 UnsupportedOperationException
Mar*_*oun 20
我会稍微扩展一下我的评论,
如果您使用asList
它可能会出现一个问题,因为它与ArrayList
对象没有区别:
List<Object> list = Array.asList(array) ;
list.remove(0); // UnsupportedOperationException :(
Run Code Online (Sandbox Code Playgroud)
在这里,您无法删除0元素,因为asList
返回由指定数组支持的固定大小的列表.所以你应该这样做:
List<Object> newList = new ArrayList<>(Arrays.asList(array));
Run Code Online (Sandbox Code Playgroud)
为了使newList
可修改.