Java 如果Array不支持添加或删除元素,那么将Array转换为ArrayList有什么用?
我尝试了以下内容,当我尝试向其添加新元素时,它抛出了Java 如果Array不支持添加或删除元素,那么将Array转换为ArrayList有什么用?,java,arrays,arraylist,Java,Arrays,Arraylist,我尝试了以下内容,当我尝试向其添加新元素时,它抛出了java.lang.UnsupportedOperationException 基本上,我尝试将一个数组转换为一个ArrayList,并尝试在从一个数组协调到另一个ArrayList后向其添加新元素 我的计划是: public class ArrayToList { public static void main(String[] args) { String[] asset = {"equity", "stocks",
java.lang.UnsupportedOperationException
基本上,我尝试将一个数组转换为一个ArrayList,并尝试在从一个数组协调到另一个ArrayList后向其添加新元素
我的计划是:
public class ArrayToList {
public static void main(String[] args) {
String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"};
List<String> assetList = Arrays.asList(asset);
for (String object : assetList) {
System.out.println("object : "+object);
}
assetList.add("test");
}
}
如果我们不能从转换后的值中添加或删除元素,那么从数组转换到Arraylist有什么用
谢谢-返回指定数组支持的固定大小列表。无法在固定大小的列表中添加新元素。要添加新元素,请将列表定义为
List<String> assetList = new ArrayList(Arrays.asList(asset));
List assetList=newarraylist(Arrays.asList(asset));
-返回指定数组支持的固定大小列表。无法在固定大小的列表中添加新元素。要添加新元素,请将列表定义为
List<String> assetList = new ArrayList(Arrays.asList(asset));
List assetList=newarraylist(Arrays.asList(asset));
当我尝试添加时,它抛出java.lang.UnsupportedOperationException
新的元素
因为它返回一个固定大小的列表
引述:
公共静态列表asList(T…a)
如果考虑添加或删除元素,则最好使用.< /P>
List assetList=newlinkedlist(Arrays.asList(asset));
当我尝试添加时,它抛出java.lang.UnsupportedOperationException
新的元素
因为它返回一个固定大小的列表
引述:
公共静态列表asList(T…a)
如果考虑添加或删除元素,则最好使用.< /P>
List assetList=newlinkedlist(Arrays.asList(asset));
定义了来自数组#asList()
的结果列表。这意味着您不能向其中添加新元素
如果您想绕过它,请将其包装在新的ArrayList
中:
List<String> assetList = new ArrayList(Arrays.asList(asset));
List assetList=newarraylist(Arrays.asList(asset));
定义了来自数组#asList()
的结果列表。这意味着您不能向其中添加新元素
如果您想绕过它,请将其包装在新的ArrayList
中:
List<String> assetList = new ArrayList(Arrays.asList(asset));
List assetList=newarraylist(Arrays.asList(asset));
请阅读。Arrays.asList()返回一个固定大小的列表。读取该列表。Arrays.asList()返回一个固定大小的列表。用于需要列表的其他方法,例如Collection.sort()
选中此复选框,以便在需要列表的其他方法中使用,例如Collection.sort()
选中此复选框,如果不传递大小,则无法实例化数组。
因此,当您初始化一个数组时,给出它的元素[间接传递大小],现在您使用asList(arr[])将其转换为一个ArrayList,因此这将导致无法修改的固定大小的ArrayList。如果不传递大小,数组就无法实例化。
因此,当您初始化一个数组并给出其元素[间接传递大小]时,现在您使用asList(arr[])将其转换为一个ArrayList,因此这将导致一个固定大小的ArrayList,您无法修改。All,感谢发布的答案。:)注意,这是一个坏API的例子,它允许做一些应该被构造禁止的事情。如果我们可以使用一些带有get/set和不带add/etc的接口来实现随机访问多态性,从某种意义上说,这会更好注意,这是一个坏API的例子,它允许做一些应该被构造禁止的事情。如果我们可以使用一些带有get/set的接口,而不使用add/etc来实现随机访问多态性,那么从某种意义上讲,这会更好。
List<String> assetList = new ArrayList(Arrays.asList(asset));