Junior — Middle
როგორ უნდა ჩატარდეს ობიექტების შედარება პროგრამირებაში?
sobes.tech AI
პასუხი AI-სგან
Java-da ობიექტების შედარება დამოკიდებულია იმაზე, რა exactly გსურთ შედარება:
-
გადამისამართებების (ობიექტების) თანხვედრა:
- გამოიყენება ოპერატორი
==. - შემოწმებს, მიემართება თუ არა ორი ცვლადი ერთ და იმავე ობიექტზე მეხსიერებაში.
- გამოიყენება ოპერატორი
-
ობიექტების შიგთავსის შედარება:
- გამოიყენება მეთოდი
.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()) მეთოდები სწორი შიგთავსის შედარებისთვის.