使用Arrays.asList()初始化List 的最佳方法是什么

我使用下面的代码。 两者都在我的应用程序中工作正常。

情况1。

List coreModules = new ArrayList(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 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"); 

但我有一些问题:

  1. 哪一个在性能方面更好?
  2. 在哪种情况下更喜欢案例2?

阅读更多: http : //java91.blogspot.in/2017/01/what-is-best-way-of-using-arraysaslist.html

情况2在性能方面更好但是:它返回一个具有不可变大小的List。 这意味着您无法在其中添加/删除元素:

返回由指定数组支持的固定大小的列表。 (对返回列表的更改“直写”到数组。)

Arrays#asList

我认为案例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