Arrays.copyOf()&Arrays.copyOfRange()
在JDK1.5的類System類中有方法
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
標題上的這兩上方法是JDK1.6新增的方法,這兩個方法並沒有用什麼其它更奇妙的技巧,還是用的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;
}
public static byte[] copyOfRange(byte[] original, int from, int to) {
int newLength = to - from;
if (newLength < 0)
throw new IllegalArgumentException(from + " > " + to);
byte[] copy = new byte[newLength];
System.arraycopy(original, from, copy, 0,
Math.min(original.length - from, newLength));
return copy;
}