数组的拷贝

java中数组的深浅拷贝

深拷贝:拷贝后完全是另一个新的地址和空间,拷贝前后对象互不影响;浅拷贝:只是拷贝了引用,并没有开辟新的内存空间,修改原对象,新对象也会随之改变。

数组拷贝方式

  • arr.clone()
  • 新建一个与原数组大小一样的数组,利用循环挨个复制
  • Arrays.copyOf(arr, arr.length)
  • System.arraycopy(org:原数组,srcPos:原数组起始下标,dst:目标数组,dstPos:目标数组放置下标,length:拷贝长度)

注意!

  • 一维数组的拷贝,基本数据类型是深拷贝,引用类型是浅拷贝。

  • 二维数组的拷贝,除了循环拷贝是深拷贝,其他三种都是浅拷贝!可以把二维数组当成多个一维数组组成,对二维数组每个一维数组进行拷贝(使用其他三种方法),最终结果就是深拷贝(也就是循环拷贝)。

posted @ 2021-04-22 23:24  i%2  阅读(57)  评论(0)    收藏  举报