【发布时间】:2019-03-23 19:55:11
【问题描述】:
我正在经历Arrays.asList()的实现。如果我们尝试通过List(I)特定方法更改数组的大小,则得到RE:UnsupportedException。
实施 -
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
根据上面的实现,asList返回一个ArrayList对象,为什么不能改变返回的List对象的大小呢?
具体来说,是什么阻止了更改返回的ArrayList 对象的大小?
任何线索都会有所帮助和赞赏。
【问题讨论】:
-
您确定使用的是确切的重载吗?它有多个iirc。
-
是的,这就是 java.util.Arrays 中给出的;
-
这是我查看源代码时看到的返回值:
return new Arrays.ArrayList(a)。这不是一个普通的 ArrayList。 -
这是一个不同的类,恰好也被称为
ArrayList。 -
System.out.println(asList().getClass()).
标签: java arrays list arraylist