Java中的拷贝

来源:互联网 发布:iis ftp 自定义端口 编辑:程序博客网 时间:2024/06/07 00:22

Java对对象和基本的数据类型的处理是不一样的。对基本的数据类型类似于C/C++中的方法(值传递)。在Java中用对象的作为入口参数的传递则缺省为"引用传递",也就是说仅仅传递了对象的一个"引用",这个"引用"的概念同C语言中的指针引用是一样的。当函数体内部对输入变量改变时,实质上就是在对这个对象的直接操作

java 里面的数组赋值是引用传递

数组的浅拷贝是指数组拷贝时,只拷贝了数组的地址,新旧数组指向同一数据。

JAVA中复制数组元素值的的方法:(深拷贝)
1。使用FOR循环,将数组的每个元素复制(需要将每个对象调用clone方法,才能实现真正的复制)
2。使用clone方法,得到数组的值,而不是引用
3。使用System.arraycopy(s,start1,t,start2,length)方法
上述方法2和3原则上只是对一维数组的深拷贝,二维数组可以通过利用循环深拷贝各维实现。
例如二位数组深拷贝可以如下实现:

    

原创粉丝点击