Language Iniciante

De classes anônimas para lambdas e referências de método

Substitua classes anônimas de método único por lambdas e referências de método concisas.

✕ Anonymous class
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent event) {
        save(event);
    }
});
✓ Java 8+
button.addActionListener(this::save);
Viu um problema com este código? Nos avise.
⚡

Menos boilerplate

Elimina a declaração da classe e a cerimônia da sobrescrita.

👁

Melhor legibilidade

Mantém o foco na operação realizada.

🔒

Mantém a segurança de tipos

O compilador verifica a assinatura da interface funcional de destino.

Abordagem Antiga
Classe anônima
Abordagem Moderna
Referência de método
Desde o JDK
8
Dificuldade
Iniciante
De classes anônimas para lambdas e referências de método
Disponível

Disponível desde o JDK 8 (março de 2014).

Interfaces funcionais podem ser implementadas com lambdas ou referências de método. Isso elimina a cerimônia das classes anônimas, mantendo a tipagem estática e o mesmo contrato de callback.