gpt4 book ai didi

java - Arrays.asList() 疑问?

转载 作者:太空狗 更新时间:2023-10-29 22:42:01 25 4
gpt4 key购买 nike

人们说 asList方法将数组转换为列表并且不复制,因此“aList”中的每个更改都会反射(reflect)到“a”中。因此,在“aList”中添加新值是非法的,因为数组的大小是固定的。

但是,asList()方法返回 ArrayList<T> .编译器如何区分第 3 行和第 5 行。第 3 行给出异常 ( UnsupportedOperationException)。

        String[] a = {"a","b","c","d"};//1
List<String> aList = Arrays.asList(a);//2
aList.add("e");//3
List<String> b = new ArrayList<String>();//4
b.add("a");//5

最佳答案

您从 Arrays.asList 收到的这个 List 实现是数组的一个特殊 View - 您不能更改它的大小。

Arrays.asList() 的返回类型是 java.util.Arrays.ArrayList ,它经常与 java.util.ArrayList 混淆>。 Arrays.ArrayList 只是将数组显示为列表

关于java - Arrays.asList() 疑问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com