您的位置:首页 > 运维架构

System.arraycopy();方法解析以及实例简单使用

2018-01-21 15:06 435 查看
 在周末的JAVA作业中,出现了暂未接触过的方法"System.arraycopy();"。由于作业提示可以自行百度,于是结合百度,以及通过自己的理解,获取了该方法的使用及理解。
 先是从字面意思理解,System 一个意思为”系统,方法“的首字母大写单词,在这里我把它理解成一个类名。通过百度获知:

System类是一些与系统相关的属性和方法的集合,而且在System类中所有的属性都是静态的,要想引用这些属性和方法,直接使用System类调用即可。

public static void exit(int status)  系统退出 ,如果status为0就表示退出。

public static void gc()   运行垃圾收集机制,调用的是Runtime类中的gc方法。

public static long currentTimeMillis()  返回以毫秒为单位的当前时间。

public static void arraycopy(Object src,int srcPos, Object dest,int desPos,int length) 数组拷贝操作

public static Properties getProperties() 取得当前系统的全部属性。

public static String  getProperty(String key) 根据键值取得属性的具体内容。

其中确实包含了该arraycopy方法,也包含之前所使用的exit退出方法,可以见得System类是我们非常常用的内置类库。

已经通过之前学习过的知识可以知道,System类有两种属性,out和err(都在输出方法中使用过)。

arraycopy 方法名 字面意思,数组复制。

所以整个语句就是System类的arraycopy方法。

接下来看参数,调用时会弹出默认五个参数,参数在调用时缺一不可,除非方法重载,这个方法只有一个,没有方法重载。

第一个参数默认是src 来源数组 类型为数组

第二个参数默认是srcPos
从来源数组开始复制的位置 类型为整行(其实就是下标)

第三个参数默认是dest
目标数组
类型为数组

第四个参数默认是destPos 目标数组接收起始位置类型为整行(其实就是下标)

第五个参数默认是length
复制的长度。

 完成对整个方法的理解后,使用了该方法完成了作业。实例:

. 现在给出两个数组:
· 数组A:“1,7,9,11,13,15,17,19:;
· 数组b:“2,4,6,8,10”

两个数组合并为数组c

public class T5 {

public static void main(String[] args) {
int []a = {1,7,9,11,13,15,17,19};
int []b = {2,4,6,8,10};
int []c = new int [a.length+b.length];
System.arraycopy(a, 0, c, 0, a.length);
System.arraycopy(b, 0, c, a.length, b.length);
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+ " ");
}
}

}

$(".MathJax").remove();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: