Huh... that's interesting. I wonder why Arrays.sort(int[]) is all in-place but sort(Object[]) is not.
I was wondering that myself. Here's the code:
public static <T> void sort(T[] a, Comparator<? super T> c) {
T[] aux = (T[])a.clone();
if (c==null)
mergeSort(aux, a, 0, a.length, 0);
else
mergeSort(aux, a, 0, a.length, 0, c);
}
