zoukankan      html  css  js  c++  java
  • System.arraycopy

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

     参数说明:

        src:源数组; 
        srcPos:源数组要复制的起始位置; 
        dest:目的数组; 
        destPos:目的数组放置的起始位置; 
        length:复制的长度
    原理:
        实现过程是这样的,先生成一个长度为length的临时数组,将src数组中srcPos 到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(临时组,srcPos,dest,destPos,length).
    注意:
        1、src 和 dest都必须是同类型或者可以进行转换类型的数组
        2、srcPos、srcPos+length-1都必须小于src的size,destPos、destPos+length-1也必须小于dest的size。
        3、临时数组必须能一一对应到dest数组中。
    例:    
     int[] fun ={0,1,2,3,4,5,6};
     int[] fun1 = {7,8,9,10};
     /**
      * 两个不同数组间的拷贝
      * 1、拷贝fun中索引3到5(3+3-1)数据到临时数组中,生成临时数组int[] tmp = {3,4,5}。
      * 2、替换fun1中索引从1到3(1+3-1)的元素。
      */
     System.arraycopy(fun, 3, fun1, 1, 3);//结果为fun不变,fun1变为{7,3,4,5}
     
     /**
      * 同一个数组自己到自己的拷贝
      * 1、拷贝fun中索引3到6(3+4-1)数据到临时数组中,生成临时数组int[] tmp = {3,4,5,6}
      * 2、替换fun中索引2到5(2+4-1)的元素。
      */
     System.arraycopy(fun, 3, fun, 2, 4);//结果fun为{0,1,3,4,5,6,6}
  • 相关阅读:
    [UE4]Visiblity、Render Opacity
    [UE4]Tool Tip
    [UE4]工程设置:自动捕获鼠标、通过代码设置鼠标显示隐藏、输入模式、编译时自动保存
    [UE4]蓝图节点的组织
    [UE4]宏
    [UE4]对象
    [UE4]传值与传引用
    [UE4]蓝图中的基本数据类型
    [UE4]位与字节
    [UE4]Delay与Retriggerable Delay
  • 原文地址:https://www.cnblogs.com/wangmingshun/p/5634983.html
Copyright © 2011-2022 走看看