Arrays.asList(T... a)生成的List
前期准备工作(包括相关工具或所使用的原料等)IntelliJ Java 详细的操作方法或具体步骤
在调用Arrays.asList(T... a)生成的List
java.lang.UnsupportedOperationException
报异常的代码:
public class ArrayAsList {
public static void main(String[] args) {
List
System.out.println(source);
source.remove(1);
System.out.println(source);
}
}

使用Arrays.asList(T... a)生成的List
代码:
public class ArrayAsList {
public static void main(String[] args) {
List
System.out.println(source);
List
realArrayList.remove(1);
System.out.println(realArrayList);
}
}

原因解析:
java.util.Arrays.ArrayList和java.util.ArrayList实现的接口不同.
java.util.ArrayList实现了java.util.List接口
java.util.Arrays.ArrayList继承的java.util.AbstractList方法没有实现java.util.List接口中remove方法的逻辑
java.util.Arrays.ArrayList实现的接口

java.util.AbstractList抽象类中对remove方法实现
源代码:
public E remove(int index) {
throw new UnsupportedOperationException();
}

java.util.ArrayList实现的接口

java.util.ArrayList中remove方法的实现

- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
