加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:07:12 所属栏目:Java 来源:网络整理
导读:说我有一个整数数组, int[] array = new int[7];for(int i = 0; i 7; i++){array[i] = i;} 现在我只想得到该数组中的前四个数字,并把它放到另一个数组中. 所以我真的想要像… newArray = array[0-3]. 我知道语法是错误的,但我只是给出了我想要做什么的一般想
说我有一个整数数组,
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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读