三种方式: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都是基于这个方法实现的。
网友评论