System.arraycopy详解

一、深度复制和浅度复制区别         

      Java数组的复制操作可以分为深度复制和浅度复制,简单来说深度复制,可以将对象的和对象的内容复制;浅复制是指对对象引用的复制。

二、System.arraycopy()方法实现复制

      System中提供了一个native静态方法arraycopy(),可以使用这个方法来实现数组之间的复制。

      对于一维数组来说,这种复制属性值传递,修改副本不会影响原来的值。对于二维或者一维数组中存放的是对象时,复制结果是一维的引用变量传递给副本的一维数组,修改副本时,会影响原来的数组。

      System.arraycopy的函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,length表示要复制的长度。 

     

参考:

https://blog.csdn.net/qq_32440951/article/details/78357325

posted on 2018-09-22 11:38  溪水静幽  阅读(317)  评论(0)    收藏  举报