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";
添加回答
舉報