说我有一个整数数组,
int[] array = new int[7]; for(int i = 0; i < 7; i++) { array[i] = i; }
现在我只想得到该数组中的前四个数字,并把它放到另一个数组中.
所以我真的想要像…
newArray = array[0-3].
我知道语法是错误的,但我只是给出了我想要做什么的一般想法,有什么可能的吗?或者我必须创建一个循环并手动添加到newArray?
解决方法
方法1
int[] newArr = new int[4]; System.arraycopy(array,newArr,4);
该方法有五个参数:
> src:源数组.
> srcPosition:源中您希望开始的位置
复制.
> des:目的数组.
> desPosition:将目标数组中的位置复制到哪里
应该开始
> length:要复制的元素数.
如果src或des中的任一个为空,此方法将抛出NullPointerException.
在以下情况下也会抛出ArrayStoreException:
>如果src不是数组.
>如果des不是数组.
>如果src和des是不同数据类型的数组.
方法2
利用
Arrays.copyOf(array,4)复制前4个元素,截断其余的元素.
的
如果需要数组的中间,Arrays.copyOfRange(array,1,5)来复制元素1-4.