Wpis z mikrobloga

Czy używanie sieci w metodzie equals() w Javie jest zawsze złym pomysłem? Biblioteka standardowa Javy często wywołuje equals() gdy programista tego nie chce, przyjmując założenie że sprawdzanie równości jest szybkie? Dwa obiekty mojej klasy są równe dokładnie wtedy, gdy rekordy SRV jednej domeny internetowej zawierają informację o równości tych obiektów.

#programowanie #java
  • 4
@jacekprim:

Biblioteka standardowa Javy często wywołuje equals()

Praktycznie bez przerwy, zwłaszcza kolekcje.
Należy również przeciążyć hashCode(), zgodnie z kontraktem między nią a equals. Ta metoda też jest bardzo często używana.

Myślę, że lepszym pomysłem byłoby sprawdzanie tego przy tworzeniu obiektu i wypełnianie pola, które następnie zostanie użyte w hashCode/equals.