java学习之数组二

main方法中参数String[] args:

这个参数是用户输入的参数列表,即命令行参数。

java学习之数组二


java学习之数组二

运行结果 4  10

声明两个数组并对其初始化,然后使array1=array2。此时array1和array2就指向了同一个数组,改变array1或者array2的第一个元素,发现array1和array2的第一个元素都改变了。 

实际上array1和array2都指向了堆中的同一片内存空间。所以改变array1或者改变array2实际上改变的是同一内存空间的元素。

如果想把一个数组中的元素拷贝到另一个数组中,显然这种方法不适用。

可以用System类中arraycopy方法。

System.arraycopy(fromarray,fromindex,toarray,toindex,length)

从指定数组fromarray中的第fromindex开始,复制length个长度到目标数组中toarray中。放到目标数组toindex之后

这个实际上是把一个内存空间中的东西复制到另一个内存空间中,指的是两个不同的内存空间。两者有本质上的区别

java学习之数组二