Sobes.tech
Junior — Middle

როგორ უნდა ჩატარდეს ობიექტების შედარება პროგრამირებაში?

sobes.tech AI

პასუხი AI-სგან

Java-da ობიექტების შედარება დამოკიდებულია იმაზე, რა exactly გსურთ შედარება:

  1. გადამისამართებების (ობიექტების) თანხვედრა:

    • გამოიყენება ოპერატორი ==.
    • შემოწმებს, მიემართება თუ არა ორი ცვლადი ერთ და იმავე ობიექტზე მეხსიერებაში.
  2. ობიექტების შიგთავსის შედარება:

    • გამოიყენება მეთოდი .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()) მეთოდები სწორი შიგთავსის შედარებისთვის.