Language Başlangıç

Anonim sınıflardan lambda ve metot referanslarına

Tek metotlu anonim sınıfları özlü lambda'lar ve metot referanslarıyla değiştirin.

✕ Anonymous class
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent event) {
        save(event);
    }
});
✓ Java 8+
button.addActionListener(this::save);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
⚡

Daha az şablon kod

Sınıf bildirimini ve override kalabalığını ortadan kaldırır.

👁

Daha iyi okunabilirlik

Dikkati gerçekleştirilen işlem üzerinde tutar.

🔒

Hâlâ tür güvenli

Derleyici, hedef fonksiyonel interface imzasını denetler.

Eski Yaklaşım
Anonim sınıf
Modern Yaklaşım
Metot referansı
JDK'dan itibaren
8
Zorluk
Başlangıç
Anonim sınıflardan lambda ve metot referanslarına
Mevcut

JDK 8'den itibaren kullanılabilir (Mart 2014).

Fonksiyonel interface'ler lambda veya metot referanslarıyla uygulanabilir. Bu yaklaşım, statik tiplemeyi ve aynı callback sözleşmesini korurken anonim sınıf şablon kodunu ortadan kaldırır.