Java 中数组复制的效率比较

在开发中,数组复制是经常使用的,很多方法都可以进行数组赋值,但是效率却天差地别:效率最高的是:System.arraycopy (), 下面是它的使用方式的参数说明:

mark

们可以看看它的源代码,它是个 native 方法,毫无疑问效率最高:

mark

再说说 Arrays.copyof () 方法,看源代码发现,它还是调用了 System.arraycopy () 方法:

mark

然后呢,再看看 Object 类的 clone 方法:

mark

clone () 的返回值是 Object 类型,强制类型转换毫无疑问是降低了效率,但是好歹是 native 方法,不会存在有特别明明显的差距的。当然自己通过 for 循环的方式也可以进行数组的复制,但是效率依旧是很低的!所以还是推荐用 System.arraycopy () 来进行数组的复制吧!