标签:int 数组 des 指定 i++ bounds copy java 长度
1 int[] num1 = {1, 2, 3, 4, 5}; 2 int[] num2 = new int[num1.length]; 3 for (int i = 0; i < num1.length; i++) { 4 num2[i] = num1[i]; 5 }
1 int[] num1 = {1, 2, 3, 4, 5}; 2 int[] num2 = new int[num1.length]; 3 System.arraycopy(num1, 0, num2, 0, num1.length);
Notes: 如果目标数组不足以容纳原数组所有元素,则会抛出异常,现在我把 destPos 设为1,一起看一下结果!
Throwed an exception already: ArrayIndexOutOfBoundsException
public static int[] copyOf(int[] original, int newLength) // original array, newLength of current array
int[] num1 = {1, 2, 3, 4, 5}; int[] num2 = new int[3]; num2 = Arrays.copyOf(num1, 3); // newLength = 3,只复制前3个元素
Note:
如果 newLength 小于原数组,则复制前面 newLength 长度的元素。
其实 Arrays.copyOf()内部实现使用了System.arrayCopy()
public static int[] copyOfRange(int[] original, int from, int to) //from(inclusive), to(exclusive)
1 int[] num1 = {1, 2, 3, 4, 5}; 2 int[] num2 = new int[5]; 3 num2 = Arrays.copyOfRange(num1, 1, 3);
//now num2: {2, 3}
加油各位!如果觉得有用的话,可以点个推荐吗?(祈求脸.jpg)
标签:int 数组 des 指定 i++ bounds copy java 长度
原文地址:https://www.cnblogs.com/sheepcore/p/12401510.html