Quote Originariamente inviata da newutente Visualizza il messaggio
Ho capito il discorso, tuttavia non riesco a capire dove avviene l'invocazione del metodo compare. Cioè, dove avviene esattamente il confronto tra gli oggetti? Nel momento in cui viene creato un oggetto StringComparator passandolo in input al metodo sort?
È all'interno del metodo sort che avviene la invocazione di compareTo (per la forma di sort che "presuppone" che gli oggetti siano Comparable) oppure di compare (per la forma che riceve il Comparator esplicito).

E come ho detto, il sort fa tante comparazioni e dai risultati deduce come riordinare la lista affinché segua quel criterio di ordinamento passato (con Comparable implicito o Comparator esplicito).