outputArray[w:lastIndex] = array[v:lastIndex]
我想将一个子数组复制到另一个已经初始化的子数组中。
是否有任何内置函数可以检查:
1) 要复制的元素数量相同。 2)它不会导致indexOutOfBoundException
在 RHS 上我可以做类似的事情:
Arrays.copyOfRange(array,v,lastIndex+1)
我不知道 LHS 是否可以做任何事情。
我必须使用整数数组+我知道它违背了数组的目的。
最佳答案
您可以使用System.arraycopy
:
System.arraycopy (sourceArray, sourceFirstIndex, outputArray, outputFirstIndex, numberOfElementsToCopy);
但是,如果您提供无效参数,它确实会抛出 IndexOutOfBoundsException
。
如果我正确理解您示例中的参数,您需要如下内容:
System.arraycopy (array, v, outputArray, w, lastIndex - v);
或
System.arraycopy (array, v, outputArray, w, lastIndex - v + 1);
如果您希望 lastIndex
处的元素也被复制。
关于java - Java 将子数组复制到已初始化数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40100953/