标签:无法 情况 length 定位 序列 目标 nbsp 参数 不同的
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
从指定的源数组(从指定位置开始)复制数组到目标数组的指定位置。数组组件的子序列从引用的源数组复制到引用src
的目标数组dest
。复制的组件数等于length
参数。将源数组中位置srcPos
到 的组件srcPos+length-1
分别复制到目标数组中的位置destPos
到 destPos+length-1
。
如果src
和dest
参数是指相同的数组对象,则复制是因为如果组分在位置执行srcPos
通过 srcPos+length-1
首先被复制到一个临时阵列length
组件,然后将临时数组的内容被复制到的位置 destPos
通过destPos+length-1
目标数组的。
如果dest
为null
,则 NullPointerException
抛出。
如果src
为null
,则NullPointerException
抛出 ,并且不修改目标数组。
否则,如果满足以下任一条件,则将ArrayStoreException
引发an 并且不会修改目标:
src
参数引用的不是数组对象。dest
参数引用的不是数组对象。src
参数和dest
参数指阵列,其部件类型是不同的原始类型。src
变量引用具有原始组件类型的数组,而自dest
变量引用具有参考组件类型的数组。src
变量引用具有引用组件类型的数组,而自dest
变量引用具有原始组件类型的数组。否则,如果满足以下任一条件,则将IndexOutOfBoundsException
引发an 并且不会修改目标:
srcPos参数为负值。
destPos参数为负值。
length参数为负值。
srcPos+length
大于 src.length
,源数组的长度。destPos+length
大于 dest.length
,目标数组的长度。否则,如果源数组中从位置srcPos
到 位置的任何实际组件srcPos+length-1
都无法通过赋值转换转换为目标数组的组件类型,ArrayStoreException
则会引发an 。在这种情况下,令 k为小于长度的最小非负整数,以使src[srcPos+
k]
无法转换为目标数组的组件类型。当抛出异常,从位置源阵列组件srcPos
通过 srcPos+
?-1
将已经被复制到目标阵列位置 destPos
通过 destPos+
?-1
并且不会修改目标数组的其他位置。(由于已经逐项列出了限制,因此本段仅适用于两个数组都具有引用类型的组件类型的情况。)
src
而无法将数组中的元素存储到dest
数组中。src
或者 dest
是null
。标签:无法 情况 length 定位 序列 目标 nbsp 参数 不同的
原文地址:https://www.cnblogs.com/WLCYSYS/p/13194286.html