与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制。
Arrays.copyOfRange()的格式如下:
1 copyOfRange(int[] original, int from, int to)
第一个参数表示源数组
第二个参数表示开始位置(取得到)
第三个参数表示结束位置(取不到)
代码案例如下:
1 import java.util.Arrays; 2 public class HelloWorld { 3 public static void main(String[] args) { 4 int a[] = new int[] { 18, 62, 68, 82, 65, 9 }; 5 6 // 不同的是System.arraycopy,需要事先准备好目标数组,并分配长度。 7 // copyOfRange只需要源数组就就可以了,通过返回值,就能够得到目标数组了。 8 // 除此之外,需要注意的是 copyOfRange 的第3个参数,表示源数组的结束位置,是取不到的。 9 10 // copyOfRange(int[] original, int from, int to) 11 // 第一个参数表示源数组 12 // 第二个参数表示开始位置(取得到) 13 // 第三个参数表示结束位置(取不到) 14 int[] b = Arrays.copyOfRange(a, 0, 3); 15 for (int i = 0; i < b.length; i++) { 16 System.out.print(b[i] + " ");//18 62 68 17 } 18 19 // 溢位复制 20 System.out.println(); 21 int[] C = Arrays.copyOfRange(a, 0, 7); 22 for (int i = 0; i <C.length; i++) { 23 System.out.print(C[i] + " ");//18 62 68 82 65 9 0 24 } 25 } 26 }