instanceof için kalıp eşleştirme
Tür kontrolü ve tür dönüşümünü kalıp eşleştirme ile tek adımda birleştirin.
Kod Karşılaştırması
✕ Java 8
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
IO.println(s.length());
}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Gereksiz tür dönüşümü yok
Tür kontrolü ve değişken bağlama tek bir ifadede gerçekleşir.
Daha az satır
İki satır yerine bir satır — tür dönüşümü satırı tamamen ortadan kalkar.
Kapsam güvenliği
Kalıp değişkeni yalnızca türün garanti edildiği yerde kapsamdadır.
Eski Yaklaşım
instanceof + Tür Dönüşümü
Modern Yaklaşım
Kalıp Değişkeni
JDK'dan itibaren
16
Zorluk
Başlangıç
JDK Desteği
instanceof için kalıp eşleştirme
Mevcut
JDK 16'dan itibaren geniş çapta kullanılabilir (Mart 2021)
Nasıl çalışır
instanceof için kalıp eşleştirme, tür kontrolünden sonra gereksiz tür dönüşümünü ortadan kaldırır. Değişken, kalıbın eşleştiği yerle otomatik olarak kapsamlandırılır; bu da kodu daha güvenli ve kısa yapar.
İlgili Belgeler