Java · Intermediário · Português · Técnico
referência de método
Forma curta de lambda que aponta para um método existente, como String::length ou System.out::println, usando dois-pontos duplos.
Onde usar
Aparece em streams e comparators: map(String::trim). Em review: 'troque a lambda por referência de método'.
Em código
Function<String, Integer> f =
Integer::parseInt;
Supplier<List<String>> s = ArrayList::new;
Consumer<String> p = System.out::println;
p.accept("oi");Exemplos
Troca essa lambda por uma referência de método.
A referência de método ficou ambígua por causa da sobrecarga.
Cuidado
Existem quatro formas (estático, instância ligada, instância não ligada e construtor); confundir a assinatura gera erros de inferência.
Sinônimos
method reference