Vitu viwili vitakuwa sawa kila wakati njia yao ya kulinganishaTo () inarudisha sifuri?
Vitu viwili vitakuwa sawa kila wakati njia yao ya kulinganishaTo () inarudisha sifuri?

Video: Vitu viwili vitakuwa sawa kila wakati njia yao ya kulinganishaTo () inarudisha sifuri?

Video: Vitu viwili vitakuwa sawa kila wakati njia yao ya kulinganishaTo () inarudisha sifuri?
Video: 40 Year Abandoned Noble American Mansion - Family Buried In Backyard! 2024, Mei
Anonim

Ni ni ilipendekeza hilo kulinganishaNa pekee anarudi 0, ikiwa wito kwa sawa juu vitu sawa ingekuwa kurudi kweli: kulinganishaNa (e2) == 0 ina sawa thamani ya boolean kama e1. sawa (e2) kwa kila e1 na e2 ya darasa C. Kumbuka kwamba null ni si mfano wa darasa lolote, na e.

Kwa kuongezea, inawezekana kwa sawa () kurudisha uwongo hata ikiwa yaliyomo kwenye vitu viwili ni sawa?

4 Majibu. Katika java njia ya boolean ya umma sawa ( Kitu obj) hurithiwa kutoka kwa Kitu . Walakini, utekelezaji wa njia kama inavyofafanuliwa katika Kitu darasa ni hilo sawa mbinu mapenzi kurudi ikiwa na pekee kama ya vitu viwili kuwa ikilinganishwa ni sawa mfano.

Baadaye, swali ni, kwa nini kulinganishaTo () inapaswa kuwa sawa na () njia katika Java? Hii ni kwa sababu kiolesura cha Ramani kinafafanuliwa kwa mujibu wa sawa operesheni, lakini ramani hufanya ulinganisho wote muhimu kwa kutumia yake kulinganishaNa (au kulinganisha) njia , kwa hivyo funguo mbili ambazo zinachukuliwa sawa kwa hili njia ni, kutoka kwa mtazamo wa ramani iliyopangwa, sawa.

Kuweka hii katika mtazamo, ni tofauti gani kati ya == sawa () na kulinganishaTo () njia?

kulinganishaNa : Hulinganisha mifuatano miwili kimsamiati. sawa : Inalinganisha mfuatano huu na kitu kilichobainishwa. kulinganishaNa inalinganisha mifuatano miwili na herufi zao (katika faharasa sawa) na kurudisha nambari kamili (chanya au hasi) ipasavyo. sawa () hukagua ikiwa vitu viwili ni sawa au la na kurudisha boolean.

Je, tunaweza kubatilisha kulinganishaTo mbinu?

Batilisha kulinganishaNa Mbinu Inapaswa kurudisha nambari hasi (kawaida -1), ikiwa kitu cha sasa cha kuchochea ni kidogo kuliko kilichopitishwa moja , na nambari chanya (kawaida +1) ikiwa ni kubwa kuliko, na 0 ikiwa ni sawa. kulinganisha na mbinu inapaswa kutupa ubaguzi ikiwa kitu kilichopitishwa kina aina isiyoendana au null.

Ilipendekeza: