Have you looked at the Sun's implementation of Arrays.copyOf()?
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;
}
As can be seen, it uses System.arraycopy()
internally, so the performance would be the same.