我使用下面的代码。两者都在我的应用程序中正常工作。
案例1。
List<String> coreModules =
new ArrayList<String>(Arrays.asList(
"TOOLBAR_TO_DO_LIST",
"TOOLBAR_PROPERTY",
"TOOLBAR_PEOPLE",
"TOOLBAR_INSURANCE",
"TOOLBAR_BATCH",
"TOOLBAR_INFORMATION_REFERENCE",
"TOOLBAR_LR_PROPERTY",
"TOOLBAR_CASE_FOLDER",
"TOOLBAR_INSPECTION_RESULT",
"TOOLBAR_MY_OFFICE"));
案例2。
List<String> coreModules =
Arrays.asList(
"TOOLBAR_TO_DO_LIST",
"TOOLBAR_PROPERTY",
"TOOLBAR_PEOPLE",
"TOOLBAR_INSURANCE",
"TOOLBAR_BATCH",
"TOOLBAR_INFORMATION_REFERENCE",
"TOOLBAR_LR_PROPERTY",
"TOOLBAR_CASE_FOLDER",
"TOOLBAR_INSPECTION_RESULT",
"TOOLBAR_MY_OFFICE");
但我有一些问题:
答案 0 :(得分:41)
案例2在性能方面更好但是:它返回一个具有不可变大小的List。这意味着您无法在其中添加/删除元素:
返回由指定数组支持的固定大小列表。 (对返回列表的更改“直写”到数组。)
答案 1 :(得分:0)
我认为案例2就像创建new String[10]
一样。您无法更改大小,但可以更改元素。案例1允许您同时执行这两项操作。
这显示了您可以对案例2执行的操作:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/Arrays.java#Arrays.ArrayList