Language Orta

switch'te kalıp eşleştirme

if-else instanceof zincirlerini temiz switch tür kalıplarıyla değiştirin.

✕ Java 8
String format(Object obj) {
    if (obj instanceof Integer i)
        return "int: " + i;
    else if (obj instanceof Double d)
        return "double: " + d;
    else if (obj instanceof String s)
        return "str: " + s;
    return "unknown";
}
✓ Java 21+
String format(Object obj) {
    return switch (obj) {
        case Integer i -> "int: " + i;
        case Double d  -> "double: " + d;
        case String s  -> "str: " + s;
        default        -> "unknown";
    };
}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
📐

Yapılandırılmış dağıtım

switch, dallanma yapısını açık ve taranabilir hale getirir.

🎯

İfade biçimi

Doğrudan bir değer döndürür — değiştirilebilir değişkene gerek yoktur.

Kapsamlılık

Derleyici tüm türlerin işlendiğini sağlar.

Eski Yaklaşım
if-else Zinciri
Modern Yaklaşım
Tür Kalıpları
JDK'dan itibaren
21
Zorluk
Orta
switch'te kalıp eşleştirme
Mevcut

JDK 21 LTS'den itibaren geniş çapta kullanılabilir (Eylül 2023)

switch'te kalıp eşleştirme, tür testini, tür dönüşümünü ve bağlamayı tek ve özlü bir case etiketinde birleştirerek türlere doğrudan eşleştirmenizi sağlar. Derleyici tamamlığı denetler.

Paylaş 𝕏 🦋 in