Junior — Middle
Ինչպե՞ս պետք է իրականացնել օբյեկտների համեմատությունը ծրագրավորման մեջ:
sobes.tech AI
Պատասխան AI-ից
Java-յում օբյեկտների համեմատությունը կախված է նրանից, թե ինչն է հենց այն, ինչ ուզում եք համեմատել:
-
Հղումների (օբյեկտների) հավասարության համեմատություն:
- Օգտագործվում է
==օպերատորը: - Ստուգում է, արդյոք երկու փոփոխականները ցույց են տալիս նույն օբյեկտին հիշողության մեջ:
- Օգտագործվում է
-
Օբյեկտների պարունակության համեմատություն:
- Օգտագործվում է
.equals()մեթոդը: - Դեպի ստանդարտ (Object դասում) համեմատում է հղումները, բայց շատ դասեր (օրինակ, String, Integer) վերանվաճում են այս մեթոդը պարունակության համեմատության համար:
- Օգտագործվում է
Օրինակ:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, տարբեր օբյեկտներ
System.out.println(a.equals(b)); // true, պարունակությունը նույնն է
Առաջարկություններ:
- Պարունակության համեմատության համար միշտ օգտագործեք
.equals(), եթե դասը դա ճիշտ է իրականացնում: - Որոշելու համար, արդյոք դա նույն օբյեկտն է (հատկանիշը), օգտագործեք
==: - Երբ ստեղծում եք ձեր սեփական դասերը, խորհուրդ է տրվում վերանվաճել
equals()(ևhashCode()) մեթոդները՝ օբյեկտների ճիշտ համեմատության համար պարունակության հիման վրա: