Vad är användningen för att åsidosätta equals-metoden i Java?
Vad är användningen för att åsidosätta equals-metoden i Java?

Video: Vad är användningen för att åsidosätta equals-metoden i Java?

Video: Vad är användningen för att åsidosätta equals-metoden i Java?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, April
Anonim

Åsidosätt lika och hashCode in Java

lika () metod är Begagnade att jämföra objekt för likhet medan hashCode är Begagnade för att generera en heltalskod som motsvarar det objektet

Härav, vad är användningen av equals-metoden i Java?

De lika () metod jämför två objekt för likhet och returnerar sant om de är det likvärdig . De lika () metod tillhandahålls i klassen Object använder identitetsoperatorn (==) för att avgöra om två objekt är likvärdig . För primitiva datatyper ger detta rätt resultat.

Dessutom, hur åsidosätter du equals-metoden i Java? I ovanstående kodstycke har Person en åsidosatt equals()-metod, som tog följande steg-för-steg-metoder:

  1. Om referensen till detta objekt är densamma som referensen till argumentobjektet, returnera true.
  2. Om argumentet är null, returnera false.
  3. Om objekten inte är från samma klass, returnera false.

Följaktligen, varför måste vi åsidosätta equals-metoden i Java?

String-klassen åsidosätter de är lika med metoden den ärvde från klassen Object och implementerade logik för att jämföra de två String-objekten tecken för tecken. Anledningen till är lika med metoden i klassen Object refererar jämlikhet eftersom den inte vet hur man gör något annat.

Vad är användningen för att åsidosätta hashCode och equals-metoden i Java?

om en klass åsidosätter lika , det måste åsidosätt hashCode . när de är båda åsidosatt , lika och hash-kod måste använda sig av samma uppsättning fält. om två objekt är likvärdig , sedan deras hash-kod värden måste vara likvärdig också. om objektet är oföränderligt, då hash-kod är en kandidat för cachning och lat initialisering.

Rekommenderad: