在 Java 编程中经常会遇到数组拷贝操作,一般会有如下四种方式对数组进行拷贝。
* for遍历,遍历源数组并将每个元素赋给目标数组。
* clone方法,原数组调用clone方法克隆新对象赋给目标数组
* System.arraycopy,JVM 提供的数组拷贝实现。
* Arrays.copyof,实际也是调用System.arraycopy。
System.arraycopy为 JVM 内部固有方法,它通过手工编写汇编或其他优化方法来进行 Java 数组拷贝,这种方式比起直接在 Java 上进行 for 循环或 clone 是更加高效的。数组越大体现地越明显。
Arrays.copyOfRange(T[ ] original,int from,int to)
将一个原始的数组original,从小标from开始复制,复制到小标to,生成一个新的数组。
注意这里包括下标from,不包括上标to。