3 回答
TA贡献1811条经验 获得超5个赞
使用下面的代码,您可以将字符串数组转换为固定大小的列表。
List<String> strList = Arrays.asList(strArr);
将数组转换为列表时。您可以对新创建的固定大小列表执行列表的所有操作。对列表进行排序的示例如下。
Collection.sort(strList);
但是使用上面的代码您无法将元素添加到列表中。在列表中添加元素时,它会抛出异常。示例代码如下。
String[] strArr = {"JAVA", "C++", "PERL", "STRUTS", "PLAY"};
List<String> strList = Arrays.asList(strArr);
strList.add("Spring"); // This line will throw exception
System.out.println("Created List Size: "+strList.size());
System.out.println(strList);
如果您想将元素添加到列表中,则必须将字符串数组转换为列表,如下所示。
List<String> strList = new ArrayList<String>(Arrays.asList(strArr));
希望这能帮助您理解它
TA贡献1851条经验 获得超5个赞
Arrays.asList()
是java的静态实用程序。它创建了从您(或任何类型的基元/对象)List
复制值的操作。array of strings
您可以查看docs.oracle上的文档。a 的好处List
是大小是可变的,因此可以添加或删除元素(简而言之,它没有固定大小),而 anarray
具有固定大小。这对于List
(Mutable list
默认情况下)是正确的,除非您使用Immutable List
像数组一样具有固定大小的数组。
TA贡献1765条经验 获得超5个赞
Arrays.asList(T... arr)是一种静态方法,类似于实用程序,它将数组作为输入并返回List<T>由输入数组支持的值。所以,是的,strList是一个List.
在有关“支持”的评论中回答您的问题:
来自 Javadoc:“返回由指定数组支持的固定大小列表。(对返回列表的更改“写入”数组。)”。
因此,列表由数组支持,即对列表内容所做的所有更改都将反映在数组中。例子:
String[] a = new String[] {"1", "2", "3"};
List<String> l = Arrays.asList(a);
l.set(0, "0");
assert a[0] == "0";
添加回答
举报