Екі нысанның салыстыруTo () әдісі нөлді қайтарғанда әрқашан тең бола ма?
Екі нысанның салыстыруTo () әдісі нөлді қайтарғанда әрқашан тең бола ма?

Бейне: Екі нысанның салыстыруTo () әдісі нөлді қайтарғанда әрқашан тең бола ма?

Бейне: Екі нысанның салыстыруTo () әдісі нөлді қайтарғанда әрқашан тең бола ма?
Бейне: Урок №7. Сглаживание и морфологические трансформации. Beyond Robotics 2024, Желтоқсан
Anonim

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

Сонымен қатар, екі нысанның мазмұны бірдей болса да, equals () жалғанды қайтаруы мүмкін бе?

4 Жауаптар. Java-да жалпы логикалық әдіс тең ( Нысан obj) -дан мұраланған Нысан . Дегенмен, әдісті жүзеге асыру бөлімінде анықталғандай Нысан сынып - бұл тең әдіс болады болса қайтар және тек егер the екі нысан салыстырылады бірдей мысал.

Содан кейін сұрақ туындайды, неге compareTo () Java-дағы тең () әдісіне сәйкес болуы керек? Бұл Карта интерфейсі терминдермен анықталғандықтан тең операция, бірақ карта оның көмегімен барлық негізгі салыстыруды орындайды салыстыру (немесе салыстыру) әдіс , сондықтан екі кілт қарастырылады тең осы арқылы әдіс сұрыпталған карта тұрғысынан, тең.

Осыны ескере отырып, == equals () және compareTo () әдісінің айырмашылығы неде?

салыстыру : Екі жолды лексикографиялық тұрғыдан салыстырады. тең : Бұл жолды көрсетілген нысанмен салыстырады. салыстыру екі жолды таңбалары бойынша салыстырады (бір индексте) және сәйкес бүтін санды (оң немесе теріс) қайтарады. тең() екі нысанның бірдей немесе жоқтығын тексереді және логикалық мәнді қайтарады.

салыстыру әдісін қайта анықтай аламыз ба?

салыстыру әдісін қайта анықтау Ағымдағы іске қосу нысаны берілгеннен аз болса, ол теріс бүтін санды (әдетте -1) қайтаруы керек бір , және одан үлкен болса, оң бүтін сан (әдетте +1) және тең болса 0. салыстыру әдісі егер берілген нысанда үйлесімсіз түрі немесе нөл болса, ерекше жағдайды шығаруы керек.

Ұсынылған: