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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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