您的位置:首页 > 编程语言 > Java开发

Java核心技术--数组拷贝

2017-11-09 16:49 232 查看
在Java中,允许将一个数组变量拷贝给另一个数组变量。但是要注意,拷贝的是数组的引用,而不是直接把数据拷贝,也就是拷贝之后,两个变量将会引用同一个数组。

int[] array1 = array2;
array1[3] = 15;通过上面语句赋值之后,array2[5]的值也是15.
下面是数组拷贝的示例图:



另一种情况就是,如果想要把一个数组的所有值拷贝到另一个新的数组中,就要使用Arrays类的copyOf方法完成。

int[] array1 = Arrays.copyOf(array2, array2.length);方法copyOf的第二个参数array2.length是新数组的长度,这个方法通常用来增加数组的大小:
array = Arrays.copyOf(array, array.length);如果数组元素是数值型,那么多余的元素会被赋值为0,;如果是boolean类型,赋值为false;相反的,如果数组的长度小于原始数组的长度,只拷贝最前面的数组元素。

注意:Java数组和C++数组在堆栈上有很大的不同,基本和分配在堆上的数组指针一样,例如:

int[] a = new int[100];//java不同于
int a[100];//c++等同于
int* a = new int[100];Java中的[]被预定义为检查数组边界,并且没有指针运算,所以不能通过a加1等到数组的下一个元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: