java – 从旧数组创建新数组,同时保持旧数组的静态

前端之家收集整理的这篇文章主要介绍了java – 从旧数组创建新数组,同时保持旧数组的静态前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有一个整数数组,
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.

猜你在找的Java相关文章