00011.7数组工具类:System.arraycopy方法的使用
原创
©著作权归作者所有:来自51CTO博客作者wx632a61a65e0a1的原创作品,请联系作者获取转载授权,否则将追究法律责任
这是一个比较奇怪的类,因为他不在Arrays里面,而是在·System里面
这样就可以直观的看到这个类里面的所有方法
native:看不到源代码,它不是用java语言实现的
完整代码如下:
package com.atguigu.test06_Arrays;
import java.util.Arrays;
public class TestSystemArrayCopy {
public static void main(String[] args) {
//和数组有关的常用方法
//Copy
int[] array={1,5,3,7,2};
//不知道这个类是怎么回事,那就打开OpenType: Ctrl + Shift + T
//语法
/* public static native void arraycopy(Object src, int srcPos,Object dest, int destPos,int length);*/
/* * 第一个参数:src 原数组对象
* 第二个参数:srcPos 从原数组的[srcPos]下标开始复制
* 第三个参数:dest 目标数组对象
* 第四个参数:destPos 目标数组从[destPos]开始存储
* 第五个参数:length 表示从原数组复制几个元素
* 说明:如果src和dest是同一个数组的话,那么就会实现数组的元素的移动效果*/
/* * srcPos > destPos :往左移动 一般用于删除
* srcPos < destPos :往右移动 一般用于插入*/
String[]arr={"hello","world","java",null,null};
String[]arr1=new String[5];
//(1)用法1
//System.arraycopy(arr, 1, arr1, 0, 2);
//System.out.println(Arrays.toString(arr1));
//(2)用法2:实现删除arr[0]元素
//System.arraycopy(arr, 1, arr, 0, 2);
//System.out.println(Arrays.toString(arr));
//用法3://实现在“hello"和"world"中间插入"atguigu"
System.arraycopy(arr, 1,arr,2, 2);
arr[1]="atguigu";
System.out.println(Arrays.toString(arr));
}
}
总结:要多写,编程这个东西就跟学习游泳,学习开车一样,说得再说,学得再多理知识不自己动手实践是永远学不会的,在练习中去跟理论知识相结合