Java 使用旧数组中的内容创建新数组,同时保持旧数组的静态
假设我有一个整数数组Java 使用旧数组中的内容创建新数组,同时保持旧数组的静态,java,arrays,Java,Arrays,假设我有一个整数数组 int[] array = new int[7]; for(int i = 0; i < 7; i++) { array[i] = i; } 我知道语法是错误的,但我只是给出了我要做的事情的大致思路,这样做可能吗?或者我必须创建一个循环并手动将其添加到newArray 方法1 int[] newArr = new int[4]; System.arraycopy(array, 0, newArr, 0, 4); 该方法包含五个参数: src:源数组 srcPosi
int[] array = new int[7];
for(int i = 0; i < 7; i++)
{
array[i] = i;
}
我知道语法是错误的,但我只是给出了我要做的事情的大致思路,这样做可能吗?或者我必须创建一个循环并手动将其添加到
newArray
方法1
int[] newArr = new int[4];
System.arraycopy(array, 0, newArr, 0, 4);
该方法包含五个参数:
src
:源数组srcPosition
:源中您希望开始的位置
抄袭des
:目标阵列desPosition
:目标数组中复制到的位置
应该开始了length
:要复制的元素数- 如果src不是数组
- 如果des不是数组
- 如果src和des是不同数据类型的数组
array.copyOf(array,4)
复制前4个元素,截断其余元素
的
array.copyOfRange(array,1,5)
如果需要在数组中间复制元素1-4。您可以创建所需大小的新数组(本例中为4),然后使用将内容从一个数组复制到另一个数组。您可以用于此目的,它将指定数组的指定范围复制到新数组中
int[] newArray = Arrays.copyOf(array,4);
copyOfRange(byte[] original,
int from,
int to)
参数: 原始-要从中复制范围的数组 from-要复制的范围的初始索引,包括 to—要复制的范围的最终索引,独占。(此索引可能位于数组之外。)
谢谢您的回答,但是对于您最后的方法2,array.copyOfRange(array,1,5)将复制元素1-4。我不知道他们为什么这样做。。。谢谢你的回复,我很抱歉。使用最后一种方法
copyOfRange(byte[] original,
int from,
int to)