Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果Array不支持添加或删除元素,那么将Array转换为ArrayList有什么用?_Java_Arrays_Arraylist - Fatal编程技术网

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));