Language مبتدئ

ادمج فحص النوع والتحويل في خطوة واحدة بمطابقة الأنماط.

✕ 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());
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🔄

لا تحويل مكرر

فحص النوع وربط المتغير يحدثان في تعبير واحد.

📏

أسطر أقل

سطر واحد بدلاً من اثنين — سطر التحويل يختفي كلياً.

🛡️

أمان النطاق

متغير النمط في النطاق فقط أين النوع مضمون.

الأسلوب القديم
instanceof + تحويل
الأسلوب الحديث
متغير النمط
منذ JDK
16
الصعوبة
مبتدئ
مطابقة الأنماط لـ instanceof
متاح

متاح على نطاق واسع منذ JDK 16 (مارس 2021)

تُزيل مطابقة الأنماط لـ instanceof التحويلَ المكرر بعد فحص النوع. المتغير محدود النطاق تلقائياً إلى أين يتطابق النمط مما يجعل الكود أكثر أماناً وأقصر.

مشاركة 𝕏 🦋 in