Mi chiedevo perché il metodo di ordinamento della classe Array richiede un parametro di tipo Object []. Perché il parametro non è di tipo Comparable []. Se non si passa a Comparable [] viene generata una ClassCastException.Perché Arrays.sort accetta Object [] anziché Comparable []?
Perché ... pubblico sorta static void (Object [] a) e non public static void sort (paragonabile [] a)? Grazie
Hai stessa situazione in altri luoghi del Java API, per esempio ObjectOutputStream che si aspetta un oggetto che implementa serializzabile. Immagino, gli sviluppatori hanno cercato di impedirci di fare cast inutili. – ZeissS
Nel corso della giornata, c'erano più persone che implementavano JDK, non solo Sun. Le implementazioni della classe potrebbero aver desiderato il Comparabile, ma consentito qualsiasi ordinamento deterministico e stabile. (Ipoteticamente parlando) – Kylar