سؤال

في فئة الأشجار، أفترض أن مقارنة عقدة، لأنك تعرف البحث وإضافة عناصر. لدي بعض المشكلات مع كيفية جعلها قابلة للمقارنة. عندما يضيف المرء البيانات (عامة، أي شيء) إلى شجرة الشجرة تستدعي فئة الأشجار مما يجعل كائن عقدة جديد. كيف يمكنني أن أعلن البيانات / العنصر المتغير في فئة العقدة بحيث يكون من النوع E (أي شيء) وما زالت قابلة للمقارنة؟ بجدية، لقد حاولت ذهابا وإيابا دون إبرام أي شيء.

هل كانت مفيدة؟

المحلول

ليس كل شيء Comparable. وبعد الاحتياجات الخاصة بك هو متناقض الذاتي. يمكنك تقييد E أن تكون قابلة للمقارنة بإعلان المعلمة العامة مثل:

< E extends Comparable<E> >

بهذه الطريقة، يمكن للمستهلكين من الفصل استخدام جميع الطبقات التي تنفذ Comparable واجهة معها. ستكون قادرا على الوصول إلى compareTo طريقة على الأشياء المكتوبة E.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top