Ո՞րն է Java-ում գերազանցող հավասարների մեթոդի օգտագործումը:
Ո՞րն է Java-ում գերազանցող հավասարների մեթոդի օգտագործումը:

Video: Ո՞րն է Java-ում գերազանցող հավասարների մեթոդի օգտագործումը:

Video: Ո՞րն է Java-ում գերազանցող հավասարների մեթոդի օգտագործումը:
Video: Java Tech Talk. Hey Spring Boot, որտեղ է անհետացել իմ հիշողությունը:[#Ityoutubersru] 2024, Ապրիլ
Anonim

Չեղարկելը հավասար է և hashCode-ը Java

հավասար է () մեթոդ է օգտագործված համեմատել օբյեկտները հավասարության համար, մինչդեռ hashCode-ը օգտագործված այդ օբյեկտին համապատասխան ամբողջ թվային ծածկագիր ստեղծելու համար

Այստեղից, ո՞րն է Java-ում հավասարների մեթոդի օգտագործումը:

Այն հավասար է () մեթոդ համեմատում է երկու օբյեկտ հավասարության համար և վերադարձնում է true, եթե դրանք կան հավասար . Այն հավասար է () մեթոդ տրամադրված է Object դասում օգտագործում է նույնականացման օպերատորը (==) որոշելու, թե արդյոք երկու օբյեկտներ են հավասար . Պարզունակ տվյալների տեսակների համար սա ճիշտ արդյունք է տալիս:

Բացի այդ, ինչպե՞ս եք ջնջում հավասարումների մեթոդը Java-ում: Կոդի վերը նշված հատվածում Person-ն ունի վերագրանցված հավասար() մեթոդ, որն ընդունեց հետևյալ քայլ առ քայլ մոտեցումը.

  1. Եթե այս օբյեկտին հղումը նույնն է, ինչ արգումենտի օբյեկտին հղումը, վերադարձրեք true:
  2. Եթե արգումենտը զրոյական է, վերադարձրեք false:
  3. Եթե օբյեկտները նույն դասից չեն, վերադարձրեք false:

Համապատասխանաբար, ինչու՞ պետք է Java-ում փոխարինել հավասարների մեթոդը:

Լարային դաս գերագնահատում է որ հավասարեցման մեթոդ այն ժառանգել է Object դասից և կիրառել տրամաբանություն՝ համեմատելու երկու String օբյեկտները նիշ առ նիշ: Պատճառը հավասարեցման մեթոդ Object դասում հղումների հավասարությունը պայմանավորված է նրանով, որ այն չգիտի, թե ինչպես անել այլ բան:

Ո՞րն է Java-ում գերակայող hashCode and equals մեթոդի օգտագործումը:

եթե դասը գերազանցում է հավասար է , դա պետք է անտեսել hashCode-ը . երբ նրանք երկուսն էլ գերագնահատված , հավասար է և hashCode պետք է օգտագործել դաշտերի նույն հավաքածուն: եթե երկու օբյեկտ են հավասար , ապա նրանց hashCode արժեքները պետք է լինեն հավասար նույնպես. եթե առարկան անփոփոխ է, ապա hashCode քեշավորման և ծույլ սկզբնավորման թեկնածու է:

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