zoukankan      html  css  js  c++  java
  • System.arraycopy --全面解释(就是那么有爱心)

    System.arraycopy --全面解释(就是那么有爱心)

    1         private void resize() {
    2 
    3         int[] arrayNew = new int[array.length*2]
    4                 //把以前的数组复制到新的数组
    5                 System.arraycopy(array,0,arrayNew,0,array.length);
    6         array = arrayNew;
    7     }
    8     出处: https://www.cnblogs.com/WLCYSYS/p/13194286.html
     System.arraycopy(Objext src,int srcPos,Object dest,int destPos,int length);

     

    从指定的源数组(从指定位置开始)复制数组到目标数组的指定位置。数组组件的子序列从引用的源数组复制到引用src的目标数组dest。复制的组件数等于length参数。将源数组中位置srcPos到 的组件srcPos+length-1分别复制到目标数组中的位置destPos到 destPos+length-1

    如果srcdest参数是指相同的数组对象,则复制是因为如果组分在位置执行srcPos通过 srcPos+length-1首先被复制到一个临时阵列length组件,然后将临时数组的内容被复制到的位置 destPos通过destPos+length-1目标数组的。

    如果destnull,则 NullPointerException抛出。

    如果srcnull,则NullPointerException抛出 ,并且不修改目标数组。

    否则,如果满足以下任一条件,则将ArrayStoreException引发, 并且不会修改目标:

    • src参数引用的不是数组对象。
    • dest参数引用的不是数组对象。
    • src参数和dest参数指阵列,其部件类型是不同的原始类型。
    • src变量引用具有原始组件类型的数组,而自dest变量引用具有参考组件类型的数组。
    • src变量引用具有引用组件类型的数组,而自dest变量引用具有原始组件类型的数组。

    否则,如果满足以下任一条件,则将IndexOutOfBoundsException引发an 并且不会修改目标:

    • srcPos参数为负值。
    • destPos参数为负值。
    • length参数为负值。
    • srcPos+length大于 src.length,源数组的长度。
    • destPos+length大于 dest.length,目标数组的长度。
    • 出处: https://www.cnblogs.com/WLCYSYS/p/13194286.html   

    否则,如果源数组中从位置srcPos到 位置的任何实际组件srcPos+length-1都无法通过赋值转换转换为目标数组的组件类型,ArrayStoreException则会引发an 。在这种情况下,令 k为小于长度的最小非负整数,以使src[srcPos+k]无法转换为目标数组的组件类型。当抛出异常,从位置源阵列组件srcPos通过 srcPos+ķ-1将已经被复制到目标阵列位置 destPos通过 destPos+ķ-1并且不会修改目标数组的其他位置。(由于已经逐项列出了限制,因此本段仅适用于两个数组都具有引用类型的组件类型的情况。)

    参数:
    src 源数组。
    srcPos 在源数组中的起始位置。
    dest 目标数组。
    destPos 目标数据中的起始位置。
    length 要复制的数组元素的数量。
    抛出:
    IndexOutOfBoundsException-如果复制将导致超出数组范围的数据访问。
    ArrayStoreException-如果由于类型不匹配src 而无法将数组中的元素存储到dest数组中。
    NullPointerException -如果任一src或者 destnull 

     

  • 相关阅读:
    Oracle And子句
    Oracle Where(条件)子句用法
    extern “C”的作用详解
    函数重载
    给变量起名字的网站。
    同步异步
    CCS5.5安装破解过程
    Semaphore_pend();阻塞函数
    vi常用命令
    Linux下VI操作命令
  • 原文地址:https://www.cnblogs.com/WLCYSYS/p/13194286.html
Copyright © 2011-2022 走看看