3 回答

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊
使用下面的代碼,您可以將字符串?dāng)?shù)組轉(zhuǎn)換為固定大小的列表。
List<String> strList = Arrays.asList(strArr);
將數(shù)組轉(zhuǎn)換為列表時。您可以對新創(chuàng)建的固定大小列表執(zhí)行列表的所有操作。對列表進行排序的示例如下。
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);
如果您想將元素添加到列表中,則必須將字符串?dāng)?shù)組轉(zhuǎn)換為列表,如下所示。
List<String> strList = new ArrayList<String>(Arrays.asList(strArr));
希望這能幫助您理解它

TA貢獻(xiàn)1851條經(jīng)驗 獲得超5個贊
Arrays.asList()
是java的靜態(tài)實用程序。它創(chuàng)建了從您(或任何類型的基元/對象)List
復(fù)制值的操作。array of strings
您可以查看docs.oracle上的文檔。a 的好處List
是大小是可變的,因此可以添加或刪除元素(簡而言之,它沒有固定大小),而 anarray
具有固定大小。這對于List
(Mutable list
默認(rèn)情況下)是正確的,除非您使用Immutable List
像數(shù)組一樣具有固定大小的數(shù)組。

TA貢獻(xiàn)1765條經(jīng)驗 獲得超5個贊
Arrays.asList(T... arr)是一種靜態(tài)方法,類似于實用程序,它將數(shù)組作為輸入并返回List<T>由輸入數(shù)組支持的值。所以,是的,strList是一個List.
在有關(guān)“支持”的評論中回答您的問題:
來自 Javadoc:“返回由指定數(shù)組支持的固定大小列表。(對返回列表的更改“寫入”數(shù)組。)”。
因此,列表由數(shù)組支持,即對列表內(nèi)容所做的所有更改都將反映在數(shù)組中。例子:
String[] a = new String[] {"1", "2", "3"};
List<String> l = Arrays.asList(a);
l.set(0, "0");
assert a[0] == "0";
添加回答
舉報