现在的位置: 首页 > 综合 > 正文

Java中的拷贝

2013年09月21日 ⁄ 综合 ⁄ 共 559字 ⁄ 字号 评论关闭

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

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

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

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

  
  

抱歉!评论已关闭.