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
立志如山 静心求实
浙公网安备 33010602011771号