Antes
List<Person> personTempList = personList.stream()
.filter(p -> 'M' == p.getSex())
.collect(Collectors.toList());
Depois
public static boolean hasSexMasculine(Person person) {
return person.getSex() == 'M';
}
List<Person> personTempList = personList.stream()
.filter(Person::hasSexMasculine)
.collect(Collectors.toList())
Esta mudança pode até parecer entranha ou que esta deixando o código mais sujo, mas bem pelo contrário com uma função como essa pode ocasionar, mesmo erros de escritas aumentando a desempenho de sua equipe.