Percy

Arrays.asList(T [] array)?

java

所以有,Arrays.asList(T... a)但这对可变参数有效。

如果我已经在数组中了T[] a怎么办?是否有方便的方法来创建List<T>此文件,或者我必须手动执行以下操作:

static public <T> List<T> arrayAsList(T[] a)
{
   List<T> result = new ArrayList<T>(a.length);
   for (T t : a)
     result.add(t);
   return result;
}

阅读 285

收藏
2020-12-06

共1个答案

一尘不染

仅仅因为它与varargs一起工作并不意味着您不能正常调用它:

String[] x = { "a", "b", "c" };
List<String> list = Arrays.asList(x);

唯一棘手的问题是ifT是Object,您应该在其中使用强制类型转换来告诉编译器是否应将参数包装在数组中:

Object[] x = ...;
List<Object> list = Arrays.asList((Object[]) x);

要么

Object[] x = ...;
List<Object[]> list = Arrays.asList((Object) x);
2020-12-06