Language متوسط

فكّك Records مباشرةً في الأنماط — استخرج الحقول في خطوة واحدة.

✕ Java 8
if (obj instanceof Point) {
    Point p = (Point) obj;
    int x = p.getX();
    int y = p.getY();
    System.out.println(x + y);
}
✓ Java 21+
if (obj instanceof Point(int x, int y)) {
    IO.println(x + y);
}
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🎯

استخراج مباشر

الوصول لمكوّنات Record دون استدعاء دوال الوصول يدوياً.

🪆

قابل للتداخل

يمكن للأنماط التداخل — طابق Records الداخلية في تعبير واحد.

📏

كود مضغوط

خمسة أسطر تصبح اثنين — طقوس أقل ووضوح مماثل.

الأسلوب القديم
وصول يدوي
الأسلوب الحديث
التفكيك
منذ JDK
21
الصعوبة
متوسط
أنماط Record (التفكيك)
متاح

متاح على نطاق واسع منذ JDK 21 LTS (سبتمبر 2023)

تتيح أنماط Record تحليل مكوّنات Record مباشرةً في instanceof و switch. الأنماط المتداخلة مدعومة أيضاً مما يُتيح المطابقة العميقة دون متغيرات وسيطة.

مشاركة 𝕏 🦋 in