C3D

数组拷贝之System.arraycopy学习

99封情书 提交于 2020-01-07 16:12:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 看 JDK 源码的时候,Java 开发设计者在对数组的复制时,通常都会使用 System.arraycopy() 方法。 其实对数组的复制,有四种方法: for clone System.arraycopy arrays.copyof 本文章主要分析 System.arraycopy() ,带着几个问题去看这个方法: 深复制,还是浅复制 String 的一维数组和二维数组复制是否有区别 线程安全,还是不安全 高效还是低效 System.arraycopy() 的 API : public static void arraycopy( Object src, //源数组 int srcPos, //源数组的起始位置 Object dest, //目标数组 int destPos, //目标数组的起始位置 int length //复制长度 ) 深复制还是浅复制 代码:对象数组的复制: public class SystemArrayCopyTestCase { public static void main(String[] args) { User[] users = new User[] { new User(1, "seven", "seven@qq.com"), new User(2, "six",