هل Java Util Comparator واجهة وظيفية؟
هل Java Util Comparator واجهة وظيفية؟

فيديو: هل Java Util Comparator واجهة وظيفية؟

فيديو: هل Java Util Comparator واجهة وظيفية؟
فيديو: #95 Comparator vs Comparable in Java 2024, ديسمبر
Anonim

مقدمة. ال واجهة المقارنة خضعت لعملية إصلاح شاملة في Java 8 مع الاحتفاظ بجوهرها وهو مقارنة وفرز الكائنات في المجموعات. المقارن يدعم الآن التصريحات عبر تعبيرات lambda كما هو واجهة وظيفية . فيما يلي رمز مصدر بسيط لـ جافا.

فيما يتعلق بهذا ، هل المقارنة واجهة وظيفية؟

جميع الكائنات في Java لديها بالفعل تنفيذ للطريقة equals () ، لأنها ترثها من فئة Object. وبالتالي، المقارن هو واجهة وظيفية لأن هناك طريقة مجردة واحدة غير مطبقة: قارن (T o1، T o2).

قد يتساءل المرء أيضًا ، ما الذي يفعله المقارن بجافا؟ مقارنة جافا هي واجهة للفرز جافا أشياء. تحتج به " جافا . المقارنة ,” مقارنة جافا يقارن اثنين جافا كائنات بتنسيق "مقارنة (كائن 01 ، كائن 02)". باستخدام طرق قابلة للتكوين ، مقارنة جافا يمكن مقارنة الكائنات لإرجاع عدد صحيح بناءً على مقارنة موجبة أو متساوية أو سلبية.

بالإضافة إلى ذلك ، ما هو استخدام الواجهة الوظيفية في Java؟

أ واجهة وظيفية هو واجهه المستخدم يحتوي على طريقة مجردة واحدة فقط. يمكن أن يكون لديهم وظيفة واحدة فقط لعرضها. من عند جافا 8 وما بعده ، يمكن استخدام تعبيرات lambda لتمثيل مثيل a واجهة وظيفية . Runnable و ActionListener و Comparable هي بعض الأمثلة على ملفات وظيفي واجهات.

هل Lambda للواجهات الوظيفية فقط؟

نعم، لامدا يمكن استخدام التعبيرات فقط لتنفيذ الطريقة المجردة داخل واجهة وظيفية . Java هي لغة موجهة للكائنات ، بينما لامدا التعبيرات هي وظيفي خاصية. من أجل إضافة لامدا دعم التعبير لجافا ، قررت جافا 8 لإدخال واجهات وظيفية.

موصى به: