老的System.arraycopy()有什么地方不如Array.copy

weichuang002 2012-08-27 08:01:35
老的方法和新的方法相比,是功能少呢还是支持的类型少?

新的方法优点在哪里?
...全文
206 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
scbb 2012-08-28
  • 打赏
  • 举报
回复
其实Arrays.copyOf的方法里还是调用了System.arraycopy的,本质是一样的。
个人觉得把放在Arrays里,使得关于数组操作都放在一个类(Arrays)里,方便大家记忆和使用。
孤雨 2012-08-28
  • 打赏
  • 举报
回复

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;
}

开辟了新的数组,还是调用System.arraycopy
gradeyong 2012-08-27
  • 打赏
  • 举报
回复
是Arrays.copyOf吧,这个方法将复制的数组元素加入到新的数组中,也就是这个方法会创建新的数组

System.arrayCopy 不生成新数组,只是将复制元素加入已经存在的数组中

其实Arrays.copyOf里面也是调用了System.arrayCopy的。
龙四 2012-08-27
  • 打赏
  • 举报
回复
底层还是调用的System.arraycopy,只不过新的方法更好理解,新的内容用返回值来表示,System.arraycopy的所有的内容都是在参数中指定,当然这样也增加了灵活性,可以自己指定目标数组

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧