რას იყენებს ჯავაში გადაჭარბებული ტოლების მეთოდი?
რას იყენებს ჯავაში გადაჭარბებული ტოლების მეთოდი?

ვიდეო: რას იყენებს ჯავაში გადაჭარბებული ტოლების მეთოდი?

ვიდეო: რას იყენებს ჯავაში გადაჭარბებული ტოლების მეთოდი?
ვიდეო: Overriding the Object equals Method - Java Override Example - Comparing Objects - APPFICIAL 2024, აპრილი
Anonim

უგულებელყოფა უდრის და ჰეშკოდი შევიდა ჯავა

უდრის () მეთოდი არის გამოყენებული ობიექტების შედარება თანასწორობისთვის, ხოლო hashCode არის გამოყენებული ამ ობიექტის შესაბამისი მთელი რიცხვის კოდის გენერირება

აქედან, რა არის ჯავაში თანაბარი მეთოდის გამოყენება?

The უდრის () მეთოდი ადარებს ორ ობიექტს ტოლობისთვის და აბრუნებს true თუ ისინი არიან თანაბარი . The უდრის () მეთოდი მოცემულია Object კლასში იყენებს საიდენტიფიკაციო ოპერატორი (==), რათა დადგინდეს არის თუ არა ორი ობიექტი თანაბარი . პრიმიტიული მონაცემთა ტიპებისთვის, ეს იძლევა სწორ შედეგს.

გარდა ამისა, როგორ უგულებელყოფთ ტოლების მეთოდს Java-ში? კოდის ზემოთ მოცემულ ნაწილში, კლასს Person-ს აქვს გადაჭარბებული equals() მეთოდი, რომელმაც მიიღო შემდეგი ნაბიჯ-ნაბიჯ მიდგომა:

  1. თუ ამ ობიექტზე მითითება იგივეა, რაც არგუმენტის ობიექტზე მითითება, დააბრუნეთ true.
  2. თუ არგუმენტი არის null, დააბრუნეთ false.
  3. თუ ობიექტები არ არის იმავე კლასიდან, დააბრუნეთ false.

შესაბამისად, რატომ გვჭირდება ჯავაში ტოლების მეთოდის გადაფარვა?

სიმებიანი კლასი აჭარბებს The ტოლობის მეთოდი იგი მემკვიდრეობით მიიღო Object კლასიდან და ახორციელებდა ლოგიკას ორი სტრიქონის ობიექტის სიმბოლოების მიხედვით შესადარებლად. მიზეზი, ტოლობის მეთოდი ობიექტის კლასში მინიშნება თანასწორობა იმიტომ ხდება, რომ მან სხვა რამის გაკეთება არ იცის.

რა სარგებლობა აქვს ჯავაში hashCode and equals მეთოდს?

თუ კლასი აჭარბებს უდრის , უნდა ჰეშკოდის უგულებელყოფა . როცა ორივენი არიან გადააჭარბა , უდრის და ჰეშკოდი უნდა გამოყენება ველების იგივე ნაკრები. თუ ორი ობიექტია თანაბარი , შემდეგ მათი ჰეშკოდი ღირებულებები უნდა იყოს თანაბარი როგორც. თუ ობიექტი უცვლელია, მაშინ ჰეშკოდი არის ქეშირებისა და ზარმაცი ინიციალიზაციის კანდიდატი.

გირჩევთ: