• System.arraycopy和Arrays.copyOf()


    要变来来去,对某一位修改的,用StringBuffer/Bulider别用String,String是常量。或者用char []

    System.arraycopy()可以复制数组;(复制一个数组到另一个数组,数组的长度不变的)

    Arrays.copyOf()可以简便的创建数组副本。(复制数组到另一个数组,长度可以变长,可用于原数组扩容)

    //基本数据类型(其他类似byte,short···)  
    public static int[] copyOf(int[] original, int newLength) {  
            int[] copy = new int[newLength];  
            System.arraycopy(original, 0, copy, 0,  
                             Math.min(original.length, newLength));  
            return copy;  
        }  

    其实copyOF就是新建了一个更大的数组,再调用arraycopy复制到新数组去,返回新数组,完成了扩容。

    至于arraycopy,是native方法,我没有细看C++的实现。可以参考这一篇

    http://blog.csdn.net/u011642663/article/details/49512643

  • 相关阅读:
    单选文本及多行文本溢出问题
    div和textarea内容转换(****)
    URL OR PC/PHONE OR Strlen
    DocumentFragment(创建文档碎片节点)
    ETag
    重绘和回流
    自定义指令
    Angular JS 自定义服务
    jquery ajax 实例
    js 斐波那契序列
  • 原文地址:https://www.cnblogs.com/wzben/p/7344108.html
Copyright © 2020-2023  润新知