Non mi è chiaro il funzionamento di questo frammento di codice:
codice:import java.util.Comparator; public class StringComparator implements Comparator<String> { public int compare (String s1, String s2) { StringBuilder sb1 = new StringBuilder(s1); StringBuilder sb2 = new StringBuilder(s2); s1 = sb1.reverse().toString(); s2 = sb2.reverse().toString(); return s1.compareTo(s2); } }In modo particolare non capisco il funzionamento di questa istruzione:codice:List<String> nomiList = new ArrayList<String>(Arrays.asList(nomi)); System.out.println("List non ordinata"); stampaList(nomiList); Collections.sort(nomiList, new StringComparator()); System.out.println("List ordinata a stringhe al contrario"); stampaList(nomiList);
e della classe StringComparator. Come funziona il metodo compare all'interno di quella classe? Non capisco il nesso visto che restituisce un intero (-1, 0, 1 a seconda del risultato del confronto).codice:Collections.sort(nomiList, new StringComparator());
Mi aiutate a capire?

Rispondi quotando