使用 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" 到内存中的相同位置。
所以我有一个 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" 到内存中的相同位置。