使用 Arrays.asList 复制数组

Making a copy of an array with Arrays.asList

所以我有一个 int 数组,并且想要另一个数组指向与原始数组相同的值,这样当原始数组更改时,第二个数组将指向新值。

我试过

List<Integer> secondList = new ArrayList<>(Arrays.asList(original array));
secondList = secondList.subList(start,finish);

但我收到一条错误消息,指出 .asList returns - list of type int[] 难道我做错了什么?或者有什么好的方法吗?

如果原数组是int[]Arrays.asList会return一个List<int[]>。如果原始数组将是 Integer[]Arrays.asList 将 return 一个 List<Integer>.

您可以使用“=”运算符使第二个列表指向第一个列表。

例如:

List<Integer> firstList = new ArrayList<Integer>();
List<Integer> secondList = firstList;

firstList.add(1);
System.out.println(secondList.size());

将打印出“1”作为第二个列表的大小,因为它们都 "point" 到内存中的相同位置。