عامل الماسة مع الفئات المجهولة
يعمل عامل الماسة الآن مع الفئات المجهولة أيضاً.
مقارنة الكود
✕ Java 7/8
Map<String, List<String>> map =
new HashMap<String, List<String>>();
// anonymous class: no diamond
Predicate<String> p =
new Predicate<String>() {
public boolean test(String s) {..}
};
✓ Java 9+
Map<String, List<String>> map =
new HashMap<>();
// Java 9: diamond with anonymous classes
Predicate<String> p =
new Predicate<>() {
public boolean test(String s) {..}
};
هل ترى مشكلة في هذا الكود؟ أخبرنا.
لماذا يتفوق الأسلوب الحديث
قواعد متّسقة
الماسة تعمل في كل مكان — المُنشئات والفئات المجهولة على حدٍّ سواء.
تكرار أقل
وسائط النوع مُصرَّح بها مرة على اليسار، لا تُكرَّر أبداً.
مبدأ عدم التكرار
المترجم يعرف النوع بالفعل — لماذا تكتبه مرتين؟
الأسلوب القديم
تكرار وسائط النوع
الأسلوب الحديث
الماسة <>
منذ JDK
9
الصعوبة
مبتدئ
دعم JDK
عامل الماسة مع الفئات المجهولة
متاح
الماسة مع الفئات المجهولة منذ JDK 9 (سبتمبر 2017).
كيف يعمل
قدّم Java 7 المعامل <> لكنه لم يعمل مع الفئات الداخلية المجهولة. أصلح Java 9 هذا فأصبح لا حاجة لتكرار وسائط النوع على الجانب الأيمن.
توثيق ذو صلة