Алардын compareTo () ыкмасы нөлдү кайтарганда эки объект дайыма бирдей болобу?
Алардын compareTo () ыкмасы нөлдү кайтарганда эки объект дайыма бирдей болобу?

Video: Алардын compareTo () ыкмасы нөлдү кайтарганда эки объект дайыма бирдей болобу?

Video: Алардын compareTo () ыкмасы нөлдү кайтарганда эки объект дайыма бирдей болобу?
Video: CASIO fx-991CW fx-570CW CLASSWIZ Calculator Full Example Manual 2024, Ноябрь
Anonim

It болуп саналат деп сунуштады салыштыруу гана кайтып келет 0, эгер чалуу болсо барабар күйүк ошол эле объекттер болмок кайтуу чын: салыштыруу (e2) == 0 бирдей бар логикалык маани e1 катары. барабар (e2) C классынын ар бир e1 жана e2 үчүн. Нөл экендигин белгилеңиз болуп саналат кандайдыр бир класстын мисалы эмес, жана д.

Андан тышкары, эки объекттин мазмуну бирдей болсо да, барабар () жалганды кайтара алабы?

4 Жооптор. Javaда коомдук логикалык ыкма барабар ( Объект obj) тукум кууп өткөн Объект . Бирок, аныкталгандай ыкманы ишке ашыруу Объект класс бул барабар ыкма болот болсо кайтар жана бир гана эгерде the эки объект салыштырылат бирдей мисал.

Кийинчерээк, суроо туулат, эмне үчүн compareTo () Java'дагы барабар () ыкмасына шайкеш келиши керек? Бул Карта интерфейси терминдер менен аныкталгандыктан барабар операция, бирок карта анын жардамы менен бардык негизги салыштырууларды аткарат салыштыруу (же салыштыруу) ыкмасы , ошондуктан эки ачкыч болуп эсептелет барабар муну менен ыкмасы сорттолгон картанын көз карашынан алганда, барабар.

Муну эске алып, == барабар () менен салыштыруу () методунун ортосунда кандай айырма бар?

салыштыруу : Эки сапты лексикографиялык жактан салыштырат. барабар : Бул сапты көрсөтүлгөн объект менен салыштырат. салыштыруу эки сапты символдору боюнча салыштырат (бир эле индексте) жана ошого жараша бүтүн санды (оң же терс) кайтарат. барабар() эки объект бирдей же окшош эмес экенин текшерет жана логикалык маанини берет.

салыштыруу ыкмасын жокко чыгара алабызбы?

Салыштыруу ыкмасын жокко чыгаруу Ал терс бүтүн санды кайтарышы керек (көбүнчө -1), эгерде учурдагы триггер объектиси өткөндөн аз болсо бир , жана оң бүтүн сан (көбүнчө +1) чоңураак болсо, ал эми барабар болсо 0. салыштыруу ыкмасы өтүлгөн объекттин түрү туура келбесе же нөл болсо, өзгөчөлүктү ташташы керек.

Сунушталууда: