Хоёр объект нь харьцуулах () арга нь тэгийг буцаавал үргэлж тэнцүү байх уу?
Хоёр объект нь харьцуулах () арга нь тэгийг буцаавал үргэлж тэнцүү байх уу?

Видео: Хоёр объект нь харьцуулах () арга нь тэгийг буцаавал үргэлж тэнцүү байх уу?

Видео: Хоёр объект нь харьцуулах () арга нь тэгийг буцаавал үргэлж тэнцүү байх уу?
Видео: C++ | Модификаторы Типов | Указатели | 02 2024, Арваннэгдүгээр
Anonim

Энэ байна гэж зөвлөсөн харьцуулах зөвхөн буцаж ирдэг 0, хэрэв залгасан бол тэнцүү байна дээр ижил объектууд болно буцах үнэн: харьцуулах (e2) == 0 адилхан байна логик утга нь e1. тэнцүү байна (e2) C ангиллын e1 ба e2 бүрийн хувьд. null гэдгийг анхаарна уу байна аль нэг ангийн жишээ биш, мөн e.

Цаашилбал, хоёр объектын агуулга ижил байсан ч тэнцүү () нь худал буцаах боломжтой юу?

4 хариулт. Java-д нийтийн логикийн арга тэнцүү байна ( Обьект obj) -аас удамшсан Обьект . Гэсэн хэдий ч,-д тодорхойлсон аргын хэрэгжилт Обьект анги бол тэр тэнцүү байна арга болно бол буцаана ба зөвхөн хэрэв нь хоёр объект харьцуулж байна адилхан жишээ.

Дараа нь, яагаад харьцуулахTo () нь Java хэл дээрх тэнцүү () аргатай нийцэх ёстой вэ гэсэн асуулт гарч ирнэ. Газрын зургийн интерфэйс нь дараах байдлаар тодорхойлогддог учраас ийм байна тэнцүү байна үйл ажиллагаа боловч газрын зураг нь түүний тусламжтайгаар бүх гол харьцуулалтыг гүйцэтгэдэг харьцуулах (эсвэл харьцуулах) арга , тиймээс хоёр түлхүүр гэж тооцогддог тэнцүү үүгээр арга эрэмбэлсэн газрын зургийн үүднээс авч үзвэл, тэнцүү.

Үүнийг харгалзан үзэхэд == тэнцүү () ба харьцуулах () аргуудын хооронд ямар ялгаа байна вэ?

харьцуулах : Хоёр мөрийг үг зүйгээр харьцуулна. тэнцүү байна : Энэ мөрийг заасан объекттой харьцуулна. харьцуулах хоёр мөрийг тэмдэгтээр нь (ижил индекс дээр) харьцуулж, бүхэл тоо (эерэг эсвэл сөрөг) буцаана. тэнцүү() хоёр объект ижил эсэхийг шалгаад логик буцаана.

Бид харьцуулах аргыг дарж чадах уу?

харьцуулах аргыг хүчингүй болгох Хэрэв одоогийн өдөөгч объект дамжуулснаас бага байвал сөрөг бүхэл тоо (ихэвчлэн -1) буцаана нэг , түүнээс их бол эерэг бүхэл тоо (ихэвчлэн +1), тэнцүү бол 0 байна. харьцуулах арга Хэрэв дамжуулсан объект нь тохирохгүй төрөл эсвэл null байвал онцгой тохиолдол гаргах ёстой.

Зөвлөмж болгож буй: