Por que o método Arrays.sort do Java usa dois algoritmos de classificação diferentes para tipos diferentes?

Java 6'sArrays.sort O método usa o Quicksort para matrizes de primitivas e a classificação de mesclagem para matrizes de objetos. Acredito que na maioria das vezes o Quicksort é mais rápido que a classificação por mesclagem e custa menos memória. Minhas experiências sustentam isso, embora ambos os algoritmos sejam O (n log (n)). Então, por que algoritmos diferentes são usados para tipos diferentes?

questionAnswers(6)

yourAnswerToTheQuestion