Sobes.tech
Junior — Middle

Java-ში ობიექტების შედარებისას, equals მეთოდის გამოყენებასთან ერთად == ოპერატორის გამოყენებას რა განსხვავება აქვს?

sobes.tech AI

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

Java-да == ოპერატორი ობიექტების მითითებებს ადარებს, ანუ ამოწმებს, ორი ცვლადი ერთსა და იმავე ობიექტს აღნიშნავს მეხსიერებაში. მეთოდი equals() განკუთვნილია ობიექტების შიგთავსის, ანუ მათ ლოგიკურ თანხვედრაზე, შედარებისთვის.

მაგალითად, სტრიქონებისთვის:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // ცრუ, სხვადასხვა ობიექტები
System.out.println(a.equals(b));  // ჭეშმარიტი, ერთნაირი შიგთავსი

მნიშვნელოვანია: კლასი უნდა გადაწეროს equals() მეთოდი, რათა შიგთავსის შედარება სწორად მუშაობდეს. თუ equals() არ არის გადაწერილი, ის ჩვეულებრივ როგორც == მოიქცევა (შეთავაზებები შედარებს).