Language Başlangıç

Interface'lerde statik metotlar

Ayrı yardımcı sınıflar yerine statik yardımcı metotları doğrudan interface'lere ekleyin.

✕ Java 7
// Separate utility class needed
public class ValidatorUtils {
    public static boolean isBlank(
        String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (ValidatorUtils.isBlank(input)) { ... }
✓ Java 8+
public interface Validator {
    boolean validate(String s);

    static boolean isBlank(String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (Validator.isBlank(input)) { ... }
Bu kodda bir sorun mu gördünüz? Bize bildirin.
📦

Daha iyi organizasyon

İlgili yardımcı araçları ayrı bir sınıfta değil, interface ile birlikte tutun.

🔍

Keşfedilebilirlik

Fabrika ve yardımcı metotlar, onları beklediğiniz yerde bulunur.

🧩

API uyumu

Ayrı *Utils veya *Helper sınıflarına gerek yoktur.

Eski Yaklaşım
Yardımcı sınıflar
Modern Yaklaşım
Interface statik metotları
JDK'dan itibaren
8
Zorluk
Başlangıç
Interface'lerde statik metotlar
Mevcut

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

Java 8'den önce, bir interface ile ilgili yardımcı metotlar ayrı bir sınıfta (örn. Collection için Collections) yaşamak zorundaydı. Interface'lerdeki statik metotlar, ilgili yardımcı araçları bir arada tutmanızı sağlar. Comparator.comparing(), Stream.of() ve List.of() gibi modern API'lerde yaygındır.

Paylaş 𝕏 🦋 in