იქნება თუ არა ორი ობიექტი ყოველთვის ტოლი, როდესაც მათი compareTo () მეთოდი დააბრუნებს ნულს?
იქნება თუ არა ორი ობიექტი ყოველთვის ტოლი, როდესაც მათი compareTo () მეთოდი დააბრუნებს ნულს?

ვიდეო: იქნება თუ არა ორი ობიექტი ყოველთვის ტოლი, როდესაც მათი compareTo () მეთოდი დააბრუნებს ნულს?

ვიდეო: იქნება თუ არა ორი ობიექტი ყოველთვის ტოლი, როდესაც მათი compareTo () მეთოდი დააბრუნებს ნულს?
ვიდეო: How does compareTo method works internally in Java? 2024, მაისი
Anonim

ის არის გირჩევთ რომ შედარება მხოლოდ ბრუნდება 0, თუ ზარი უდრის on იგივე ობიექტები იქნებოდა დაბრუნების მართალია: შედარება (e2) == 0 აქვს იგივე ლოგიკური მნიშვნელობა, როგორც e1. უდრის (e2) C კლასის ყოველი e1 და e2. გაითვალისწინეთ, რომ null არის არა რომელიმე კლასის ინსტანცია და ე.

გარდა ამისა, შესაძლებელია თუ არა ტოლებმა () დააბრუნონ false მაშინაც კი, თუ ორი ობიექტის შინაარსი ერთნაირია?

4 პასუხი. ჯავაში მეთოდი საჯარო ლოგიკური უდრის ( ობიექტი ობჟ) მემკვიდრეობით მიიღება ობიექტი . თუმცა, მეთოდის განხორციელება, როგორც ეს განსაზღვრულია ობიექტი კლასი არის ის უდრის მეთოდი იქნება დაბრუნება თუ და მხოლოდ თუ The ორი ობიექტი შესადარებელი არიან იგივე მაგალითად.

შემდგომში ჩნდება კითხვა, რატომ უნდა შეესაბამებოდეს compareTo () ტოლს () მეთოდს Java-ში? ეს იმიტომ ხდება, რომ რუქის ინტერფეისი განისაზღვრება ტერმინით უდრის ოპერაცია, მაგრამ რუკა ასრულებს ყველა ძირითად შედარებას მისი გამოყენებით შედარება (ან შეადარეთ) მეთოდი , ასე რომ ორი გასაღები, რომელიც ითვლება თანაბარი ამით მეთოდი არიან, დახარისხებული რუქის თვალსაზრისით, თანაბარი.

ამის გათვალისწინებით, რა განსხვავებაა == უდრის () და compareTo () მეთოდს შორის?

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

შეგვიძლია უარვყოთ compareTo მეთოდი?

CompareTo მეთოდის უგულებელყოფა მან უნდა დააბრუნოს უარყოფითი მთელი რიცხვი (ჩვეულებრივ -1), თუ მიმდინარე გამომწვევი ობიექტი გავლილზე ნაკლებია ერთი და დადებითი მთელი რიცხვი (ჩვეულებრივ +1) თუ მეტია და 0 თუ ტოლია. compareTo მეთოდი უნდა ჩააგდოს გამონაკლისი, თუ მიღებულ ობიექტს აქვს შეუთავსებელი ტიპი ან null.

გირჩევთ: