我参考了这篇文章 get only part of an Array in Java?,它使用了copyOfRange()方法。所以我瞥了一眼这个方法的源代码,它将指定数组的指定范围复制到一个新数组中。但我不想这么做,我希望获得一个数组的视图。
有没有什么方法可以实现这个需求呢?
有没有什么方法可以实现这个需求呢?
请参考您所提到的相同问题的这个答案。使用Arrays.asList()将数组包装起来,然后使用List.subList():
Integer[] a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
List<Integer> view = Arrays.asList(a).subList(3, 6);
for (int i = 0; i < view.size(); i++)
view.set(i, view.get(i) * 10);
System.out.println(view);
System.out.println(Arrays.toString(a));
输出:
[30, 40, 50]
[0, 1, 2, 30, 40, 50, 6, 7, 8, 9]
但是,如果不先将整个数组装箱,您将无法包装基本类型的数组。