سؤال

لا أرى أي شيء أفعله خطأ ، لكن NetBeans يعطيني الخطأ التالي:

incomparable types
required: boolean
found: java.lang.Object


public int compareTo(Object obj)  {
    if( obj instaceof Employee){
       Employee employee = (Employee) obj;
       if(this.weekly_earnings > employee.weekly_earnings)
           return 1;
       else if(this.weekly_earnings == employee.weekly_earnings)
           return 0;
       else
           return -1;
    }
    else{
        System.out.println("Error");
    }
}
هل كانت مفيدة؟

المحلول

هذا التوضيح instanceof.

أيضًا ، كما ذكر توم هوتين في تعليق ، إذا كنت تستخدم Java 1.5 أو في وقت لاحق يمكنك الكتابة compareTo(Employee emp) لتجنب استخدام instanceof على الاطلاق. هناك قسم شامل عن كتابة أنواع مماثلة في ترتيب الكائن تعليمي جافا.

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