Qual è l'uso dell'override del metodo equals in Java?
Qual è l'uso dell'override del metodo equals in Java?

Video: Qual è l'uso dell'override del metodo equals in Java?

Video: Qual è l'uso dell'override del metodo equals in Java?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, Aprile
Anonim

Sostituisci uguale e hashCode in Giava

è uguale a () metodo è Usato per confrontare gli oggetti per l'uguaglianza mentre hashCode è Usato per generare un codice intero corrispondente a quell'oggetto

Quindi, qual è l'uso del metodo equals in Java?

Il è uguale a () metodo confronta due oggetti per l'uguaglianza e restituisce vero se lo sono pari . Il è uguale a () metodo fornito nella classe Object usa l'operatore identità (==) per determinare se due oggetti sono pari . Per i tipi di dati primitivi, questo fornisce il risultato corretto.

Inoltre, come si sovrascrive il metodo equals in Java? Nella parte di codice sopra la classe Person ha un metodo equals() sovrascritto, che ha seguito il seguente approccio passo-passo:

  1. Se il riferimento a questo oggetto è uguale al riferimento all'oggetto argomento, restituire true.
  2. Se l'argomento è null, restituisce false.
  3. Se gli oggetti non appartengono alla stessa classe, restituisce false.

Di conseguenza, perché abbiamo bisogno di sovrascrivere il metodo equals in Java?

La classe String sostituzioni il metodo uguale ha ereditato dalla classe Object e ha implementato la logica per confrontare i due oggetti String carattere per carattere. Il motivo per cui metodo uguale nella classe Object fa riferimento all'uguaglianza perché non sa come fare nient'altro.

Qual è l'uso dell'override del metodo hashCode e equals in Java?

se una classe sovrascrive è uguale a , deve sovrascrivere hashCode . quando sono entrambi sovrascritto , è uguale a e codice hash dovere utilizzo lo stesso insieme di campi. se due oggetti sono pari , quindi il loro codice hash i valori devono essere pari anche. se l'oggetto è immutabile, allora codice hash è un candidato per la memorizzazione nella cache e l'inizializzazione pigra.

Consigliato: