Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Method references

Como o compilador do Java infere a ordem de ordenação do maior para o menor nesse caso?

palavras.sort(Comparator.comparing(String::length));
1 resposta
solução!

Olá Diego

A factory Comparator.comparing vai criar um Comparator nesse caso, pois String::length devolve int. O sort vai invocar o compareTo desses Integers, que são do menor pro maior!

Se você quiser fazer o contrário, pode invocar palavras.reverse() depois, ou ainda extrar esse Comparator para uma variável local e invocar comparator.reversed(), utilizando o retorno desse método. Algo como:

Comparator<Integer> porTamanho = Comparator.comparing(String::length);
Comparator<Integer> invertido = porTamanho.reversed();
palavras.sort(invertido);