Exemplos de Method Reference

De Basef
Revisão de 22h45min de 8 de julho de 2017 por Admin (discussão | contribs)

Ir para: navegação, pesquisa

Supondo que temos uma lista de palavras como abaixo:

List<String> palavras = new ArrayList<>();
 
palavras.add("alura online");
palavras.add("editora casa do codigo");
palavras.add("caelum");

Segue abaixo alguns exemplos de Method Reference do Java 8:

Exemplo 1:

palavras.sort(Comparator.comparing(String::length));

O código acima é similar ao Lambda:

palavras.sort(Comparator.comparing(s -> s.length()));

Que é similar ao seguinte código sem Lambda:

palavras.sort(Comparator.comparing(new Function<String, Integer>() {
    @Override
    public Integer apply(String s) {
        return s.length();
    }
}));

Os códigos acima estão usando o novo método default do Java 8 "comparing". Este método recebe uma implementação de "Function", uma interface também do Java 8.