(list.remove是获取下标对应的那个值)
下面方法看起来没问题,运行报错,
java.lang.UnsupportedOperationException
因为我们认为JDK会返回一个ArrayList或者LinkedList,所直接调用remove(int index)方法。实际上asList返回的时什么呢?asList返回的是Arrays类内部自定义的AbstractList的子类,它没有实现remove方法。
public static void main(String[] args){
String[] strs={"1","2","3","4"};
System.out.println(Arrays.asList(strs).remove(0));
}
正确方法:
String[] strs={"1","2","3","4"};
List<String> remove = Arrays.asList(strs);
System.out.println(new LinkedList<>(remove).remove(1));