一种简单的方法:
Foo[] array = ...; List<Foo> list = new ArrayList<Foo>(Arrays.asList(array));
这将创建一个可变列表 - 但它将是原始数组的副本。更改列表不会更改数组。当然,您可以稍后将其复制回来,使用toArray。
如果你想在数组上创建一个可变视图,我相信你必须自己实现它。
这个使用 Java 8 中包含的 Stream API 的简单代码创建了一个包含数组元素的可变列表(或视图):
Foo[] array = ...; List<Foo> list = Stream.of(array).collect(Collectors.toCollection(ArrayList::new));
或者,同样有效:
List<Foo> list = Arrays.stream(array).collect(Collectors.toCollection(ArrayList::new));