Արդյո՞ք երկու օբյեկտ միշտ հավասար կլինեն, երբ նրանց compareTo () մեթոդը վերադարձնում է զրո:
Արդյո՞ք երկու օբյեկտ միշտ հավասար կլինեն, երբ նրանց compareTo () մեթոդը վերադարձնում է զրո:

Video: Արդյո՞ք երկու օբյեկտ միշտ հավասար կլինեն, երբ նրանց compareTo () մեթոդը վերադարձնում է զրո:

Video: Արդյո՞ք երկու օբյեկտ միշտ հավասար կլինեն, երբ նրանց compareTo () մեթոդը վերադարձնում է զրո:
Video: Lesson 97: Controlling Servo Motor using Rotary Encoder and Display Angle On LCD 2024, Մայիս
Anonim

Այն է խորհուրդ տվեց դա համեմատել միայն վերադառնում է 0, եթե զանգահարեք հավասար է վրա նույն առարկաները պիտի վերադարձ ճիշտ: համեմատել (e2) == 0 ունի նույնը բուլյան արժեքը որպես e1: հավասար է (e2) C դասի յուրաքանչյուր e1 և e2-ի համար: Նկատի ունեցեք, որ null է ոչ մի դասի օրինակ, և էլ.

Ավելին, հնարավո՞ր է, որ հավասարները () վերադարձնեն false, նույնիսկ եթե երկու օբյեկտների բովանդակությունը նույնն է:

4 Պատասխաններ. Java-ում հանրային բուլյան մեթոդը հավասար է ( Օբյեկտ obj) ժառանգված է Օբյեկտ . Այնուամենայնիվ, մեթոդի իրականացումը, ինչպես սահմանված է Օբյեկտ դասն այն է, որ հավասար է մեթոդը կամք վերադառնալ, եթե և միայն եթե որ երկու օբյեկտ համեմատվում են նույնը օրինակ.

Հետագայում հարցն այն է, թե ինչու compareTo ()-ը պետք է համահունչ լինի հավասար () մեթոդին Java-ում: Դա այդպես է, քանի որ Քարտեզի ինտերֆեյսը սահմանվում է գծով հավասար է գործողություն, սակայն քարտեզը կատարում է բոլոր հիմնական համեմատությունները՝ օգտագործելով իր համեմատել (կամ համեմատել) մեթոդ , ուստի երկու բանալի, որոնք համարվում են հավասար սրանով մեթոդ տեսակավորված քարտեզի տեսանկյունից են, հավասար.

Հաշվի առնելով սա, ո՞րն է տարբերությունը == հավասար () և compareTo () մեթոդի միջև:

համեմատել Բառագիտական համեմատում է երկու տող: հավասար է Համեմատում է այս տողը նշված օբյեկտի հետ: համեմատել համեմատում է երկու տող իրենց նիշերով (նույն ինդեքսով) և համապատասխանաբար վերադարձնում է ամբողջ թիվ (դրական կամ բացասական): հավասար է () ստուգում է, արդյոք երկու օբյեկտները նույնն են, թե ոչ և վերադարձնում է բուլյան:

Կարո՞ղ ենք անտեսել compareTo մեթոդը:

Վերացնել compareTo մեթոդը Այն պետք է վերադարձնի բացասական ամբողջ թիվ (սովորաբար -1), եթե ընթացիկ գործարկող օբյեկտը պակաս է անցածից մեկ , և դրական ամբողջ թիվ (սովորաբար +1), եթե ավելի մեծ է, և 0, եթե հավասար է: համեմատելՄեթոդը պետք է բացառություն է անում, եթե անցած օբյեկտն ունի անհամատեղելի տեսակ կամ null:

Խորհուրդ ենք տալիս: