1
resposta

Método comparing, o que ele faz?

Sei que ele compara dois parâmetros, mas o que ele usa de base para saber como comparar? pq apenas repassamos o valor na utilização do mesmo. Olhei a documentação e não entendi, alguém saberia me explicar?

1 resposta

O comparing() aceita uma função de chave de classificação e retorna um comparador para o tipo que contém a chave de classificação. No comparing() podemos passar qual campo seria o que vamos comparar, exemplo:

Comparator<Employee> employeeNameComparator  = Comparator.comparing(Employee::getName);
Arrays.sort(employees, employeeNameComparator);

Retornaria uma lista em ordem alfabética, no caso, porque estaria ordenando pelo nome (Employee::getName)

Aqui pode ter mais detalhes: https://www.baeldung.com/java-8-comparator-comparing