温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中的System.arraycopy()与Arrays.copyOf()怎么用

发布时间:2022-02-28 10:54:52 来源:亿速云 阅读:173 作者:iii 栏目:开发技术

这篇文章主要介绍“Java中的System.arraycopy()与Arrays.copyOf()怎么用”,在日常操作中,相信很多人在Java中的System.arraycopy()与Arrays.copyOf()怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中的System.arraycopy()与Arrays.copyOf()怎么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 简单代码示例

System.arraycopy()

int[] arr = {1,2,3,4,5};
 
int[] copied = new int[10];
System.arraycopy(arr, 0, copied, 1, 5);//5 is the length to copy
 
System.out.println(Arrays.toString(copied));

输出:

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 2, 3, 4, 5, 0, 0, 0, 0]

Arrays.copyOf()

int[] copied = Arrays.copyOf(arr, 10); //10 the the length of the new array
System.out.println(Arrays.toString(copied));
 
copied = Arrays.copyOf(arr, 3);
System.out.println(Arrays.toString(copied));

输出:

[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]
[1, 2, 3]

2. 主要区别

不同之处在于Arrays.copyOf不仅复制元素,它还创建一个新数组。System.arrayCopy复制到现有数组中。

如果我们阅读Arrays.copyOf()的源代码,我们可以看到它使用System.arraycopy().

public static int[] copyOf(int[] original, int newLength) { 
   int[] copy = new int[newLength]; 
   System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); 
   return copy; 
}

到此,关于“Java中的System.arraycopy()与Arrays.copyOf()怎么用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI