Zastanawiam się, dlaczego metoda sortowania klasy Arrays wymaga parametru typu Object []. Dlaczego parametr nie jest typu Comparable []. Jeśli nie przejdziesz porównywalnego [], generujesz wyjątek ClassCastException.Dlaczego Arrays.sort przyjmuje Object [] zamiast Comparable []?
Dlaczego ... public static void sort (Object [] a) i nie public static void sort (Porównywalne [] a)? Dzięki
mieć taką samą sytuację w innych miejscach w API Java, na przykład ObjectOutputStream, który oczekuje obiektu realizującego Serializable. Wydaje mi się, że programiści starali się uniemożliwić nam wykonywanie niepotrzebnych rzutów. – ZeissS
W ciągu dnia było wiele osób wdrażających JDK, a nie tylko Słońce. Wdrożenia klasy mogły wymagać Porównywalnych, ale pozwalały na dowolny deterministyczny, stabilny rodzaj. (Hipotetycznie rzecz biorąc) – Kylar