数组转列表

  1. 使用Arrays.asList()方法
    • 缺点:该方法的返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,
      它并非java.util.ArrayList类。
      java.util.Arrays.ArrayList类具有set(),get(),contains()等方法,但是不支持添加add()或删除remove()方法,调用这些方法会报错。

解决方法是新建一个List对象,并且加入返回的strList。

  1. 使用Collections.addAll()方法
    1. String[] strArray = { "array-a", "array-b" };
    2. List<String> strList = new ArrayList<>(strArray.length);
    3. Collections.addAll(strList, strArray);
    4. strListNew.add("array-c");

列表转数组

List转换成数组,可以使用List的toArray()或者toArray(T[] a)方法。

  1. 无参数toArray方法

    1. Object[] toArray();

    需要注意的是:不能直接将Object[]转化为String[]

  2. 支持泛型的toArray方法: T[] toArray(T[] a);

使用如下:

  1. //先创建一个同样大小的数组,然后作为参数传入toArray方法
  2. String[] strArray = strList.toArray(new String[strList.size()]);