zoukankan      html  css  js  c++  java
  • System.arraycopy(src, srcPos, dest, destPos, length) 与 Arrays.copyOf(original, newLength)区别

    //System.arraycopy,只拷贝已存在的数组元素
    int[] src = {0, 1, 2};
    int[] dest = new int[3];
    System.arraycopy(src, 0, dest, 0, src.length);
    System.out.println(Arrays.toString(dest));      //[0, 1, 2]
    //Arrays.copyOf,会创建一个新的数组对象
    int[] src = {0, 1, 2};
    int[] dest = Arrays.copyOf(src, src.length);
    System.out.println(Arrays.toString(dest));    //[0, 1, 2]

    实际上Arrays.copyOf方法的内部实现也是通过System.arraycopy方法实现,在Arrays类中有多个copyOf的重载方法,现以拷贝int[]为例:

    1 public static int[] copyOf(int[] original, int newLength) {
    2     int[] copy = new int[newLength];
    3     System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength));
    4     return copy;
    5 } 
  • 相关阅读:
    负数幅角的选取
    记一次py交易
    区间估计
    平方和
    正态总体 下常用结论
    每日一背
    乘积的期望
    java调用javascript
    Java Agent入门
    JavaPoet入门
  • 原文地址:https://www.cnblogs.com/yulinfeng/p/6597711.html
Copyright © 2011-2022 走看看