1、非基本数据类型的数组,如String类、自定义类等的类型数组等。这里以String[]为例,假设已知字符串数组String[] strs,
1.1、ArrayList<String> list=new ArrayList<>(Arrays.asList(strs))。
这一方式利用了ArrayList的构造函数,故list是一个新的ArrayList实例,可以调用任何ArrayList类的可使用方法。
据说这也是StackOverFlow上面最受欢迎的答案。
1.2、List<String> list=Arrays.asList(strs);
这个方法和上面的不同之处是:虽然asList()方法是通过new了一个ArrayList作为返回结果,但是这个list实例大小是固定的,和strs大小一致。因为其底层是由一个固定大小的数组作为支撑的。故对list实例执行add()方法,实际是对一个大小固定的数组做add操作,这时会提示异常java.lang.UnsupportedOperationException。但是执行一些可以对数组进行的操作是可以的。这一点可以通过查看asList()源码注释看到。