Advertisement

三者对比

阅读量:

在 JDK 源码中,默认情况下常用的是 System.arraycopy() 方法;实际上,在数组复制方面有以下四种主要方式:

  • for
  • clone
  • System.arraycopy
  • Arrays.copyof

System.arraycopy()

复制代码
    public static native void arraycopy(Object src,int srcPos,
                                    Object dest,int destPos,
                                    int length);

参数

原始数组在起始复制位置处开始复制,在目标数组中从放置的位置开始放置数量。

该方法属于本地范畴。该实现并未包含在本文件中, 该实现采用C/C++语言开发, 在JDK库中, 集合与数组的数据复制操作主要依赖于该实现。相较于更高层次的方法, 本方案的优势在于其在底层运行时展现出较高的执行效率。

需要注意的地方在于:
越界风险较高:函数在不进行容量校验的情况下运行可能会导致索引溢出错误的发生。为了防止此类问题,在调用之前建议对相关参数进行必要的验证。
浅复制操作指的是……:

全部评论 (0)

还没有任何评论哟~