Java中数组复制的效率比较
在开发中,数组复制是经常使用的,很多方法都可以进行数组赋值,但是效率却天差地别:效率最高的是:System.arraycopy()
, 下面是它的使用方式的参数说明:
们可以看看它的源代码,它是个native方法,毫无疑问效率最高:
再说说Arrays.copyof()方法,看源代码发现,它还是调用了System.arraycopy()方法:
然后呢,再看看Object类的clone方法:
clone()的返回值是Object类型,强制类型转换毫无疑问是降低了效率,但是好歹是native方法,不会存在有特别明明显的差距的。当然自己通过for循环的方式也可以进行数组的复制,但是效率依旧是很低的!所以还是推荐用System.arraycopy()
来进行数组的复制吧!