Er to objekter alltid like når compareTo ()-metoden deres returnerer null?
Er to objekter alltid like når compareTo ()-metoden deres returnerer null?

Video: Er to objekter alltid like når compareTo ()-metoden deres returnerer null?

Video: Er to objekter alltid like når compareTo ()-metoden deres returnerer null?
Video: Полный курс React Query за час | TanStack Query v4 для начинающих 2024, Kan
Anonim

Den er anbefalt det sammenligne med kun returnerer 0, hvis et anrop til er lik på de samme gjenstandene ville komme tilbake sant: sammenligne med (e2) == 0 har det samme boolsk verdi som e1. er lik (e2) for hver e1 og e2 i klasse C. Merk at null er ikke en forekomst av noen klasse, og e.

Videre, er det mulig for lik () å returnere usann selv om innholdet i to objekter er det samme?

4 svar. I java metoden offentlig boolesk er lik ( Gjenstand obj) er arvet fra Gjenstand . Implementeringen av metoden som definert i Gjenstand klasse er at er lik metode vil returnere hvis og bare hvis de to gjenstander blir sammenlignet er samme forekomst.

Deretter er spørsmålet hvorfor compareTo () skal være konsistent med equals ()-metoden i Java? Dette er fordi kartgrensesnittet er definert i form av er lik operasjon, men et kart utfører alle viktige sammenligninger ved å bruke sin sammenligne med (eller sammenlign) metode , så to nøkler som anses lik av dette metode er, fra synspunktet til det sorterte kartet, lik.

Med tanke på dette, hva er forskjellen mellom == lik () og compareTo () metoden?

sammenligne med : Sammenligner to strenger leksikografisk. er lik : Sammenligner denne strengen med det angitte objektet. sammenligne med sammenligner to strenger etter deres tegn (i samme indeks) og returnerer et heltall (positivt eller negativt) tilsvarende. er lik() sjekker om to objekter er like eller ikke og returnerer en boolsk verdi.

Kan vi overstyre compareTo-metoden?

Overstyr CompareTo Method Det skal returnere et negativt heltall (vanligvis -1), hvis det nåværende utløsende objektet er mindre enn bestått en , og positivt heltall (vanligvis +1) hvis større enn, og 0 hvis lik. sammenligneTil-metoden bør kaster et unntak hvis det beståtte objektet har en inkompatibel type eller null.

Anbefalt: