猿问

解释 List<String> 如何在代码中使用它

public static void main(String a[]){

        String[] strArr = {"JAVA", "C++", "PERL", "STRUTS", "PLAY"};

        List<String> strList = Arrays.asList(strArr);

        System.out.println("Created List Size: "+strList.size());

        System.out.println(strList);

我正在寻找代码的解释


String[] strArr = {"JAVA", "C++", "PERL", "STRUTS", "PLAY"};

这行意味着我们正在声明一个strArr字符串类型的变量,并且在数组中我们声明了 5 个变量是正确的


然后我无法清楚地理解第二行


List<String> strList = Arrays.asList(strArr);

是strList的对象List<String>?


守着一只汪
浏览 99回答 3
3回答

四季花海

使用下面的代码,您可以将字符串数组转换为固定大小的列表。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 exceptionSystem.out.println("Created List Size: "+strList.size());System.out.println(strList);如果您想将元素添加到列表中,则必须将字符串数组转换为列表,如下所示。List<String> strList = new ArrayList<String>(Arrays.asList(strArr));希望这能帮助您理解它

江户川乱折腾

Arrays.asList()是java的静态实用程序。它创建了从您(或任何类型的基元/对象)List复制值的操作。array of strings您可以查看docs.oracle上的文档。a 的好处List是大小是可变的,因此可以添加或删除元素(简而言之,它没有固定大小),而 anarray具有固定大小。这对于List(Mutable list默认情况下)是正确的,除非您使用Immutable List像数组一样具有固定大小的数组。

POPMUISE

Arrays.asList(T... arr)是一种静态方法,类似于实用程序,它将数组作为输入并返回List<T>由输入数组支持的值。所以,是的,strList是一个List.在有关“支持”的评论中回答您的问题:来自 Javadoc:“返回由指定数组支持的固定大小列表。(对返回列表的更改“写入”数组。)”。因此,列表由数组支持,即对列表内容所做的所有更改都将反映在数组中。例子:&nbsp; &nbsp; String[] a = new String[] {"1", "2", "3"};&nbsp; &nbsp; List<String> l = Arrays.asList(a);&nbsp; &nbsp; l.set(0, "0");&nbsp; &nbsp; assert a[0] == "0";
随时随地看视频慕课网APP

相关分类

Java
我要回答