Java数组浅拷贝的三种方式

2022-01-31  本文已影响0人  M_lear

三种方式:clone方法、Arrays工具类、System.arraycopy方法
都支持基本类型和引用类型数组的拷贝。

clone

int[] copy = original.clone();

使用方便,缺点是只能拷贝到一个等长的数组中。

Arrays工具类

int[] copy = Arrays.copyOf(original, newLen);

使用方便,且可以指定新数组长度。常用于数组扩容。

Object[] copy = Arrays.copyOf(original, newLen, Object[].class);

对于引用类型数组,还可以指定新数组类型。

Object[] copy = Arrays.copyOfRange(original, from, to);

还提供了范围拷贝的方法,将original数组[from, to)范围内的元素拷贝到新数组。

System.arraycopy

System.arraycopy(original, 0, copy, 0, len);

复杂灵活,需要自己创建新数组。
Arrays.copyOf和Arrays.copyOfRange都是基于这个方法实现的。

上一篇 下一篇

猜你喜欢

热点阅读