@nie_tuzinkowy: ale jak napiszesz np. Person a = new Person(); Object b = a; to co powinno zwrócić a.Equals(b)? Moim zdaniem było by z tym więcej problemów.
@nie_tuzinkowy: wtedy masz problem z np. HashSet-em, jeśli chcesz przechowywać elementy różnych typów. Wszystkie implementacje wykorzystują metodę Equals do sprawdzania kolizji. Pewnie dało by się to obejść, ale trochę za dużo zabawy moim zdaniem.
HashSet-em, jeśli chcesz przechowywać elementy różnych typów. Wszystkie implementacje wykorzystują metodę Equals do sprawdzania kolizji
@boo007: hashset jak nazwa wskazuje używa hashCode jako "wartosci" obiektu. gdyby hashSet uzywal equals do porownania obiektow to big O operacji add byloby O(n), bo musialbys za kazdym razem porownac nowy obiekt do istniejacych w hashsecie, hashSet add ma O(1), contains też ma O(1) a przy equals byloby best scanario O(1) worst scenario O(n).
@interface: równe hashCody nie dają gwarancji, że obiekty są równe, dlatego zawsze jest używana metoda Equals do upewnienia się, że oba obiekty są rowne.
Siostra obraziła się, bo nie chciałem pożyczyć jej planszówki. Nie nauczyła gówniaków szanować czyjejś własności i wielkie zdziwienie, że nie chcę mieć kolejnej podartej planszy, zalanej instrukcji, czy pogiętych kart. Te gówniaki dosłownie niszczą w nerwach komponenty, jak przegrywają. Powiedziałem, żeby kupiła im kilka gier za 200-300 zł i niech patrzy jak je niszczą, to się obraziła i wyszła xD Wyjebungo, ja wolę, żeby się obraziła, niż przyniosła kolejną moją zniszczoną rzecz,
Komentarz usunięty przez autora
Person a = new Person();
Object b = a;
to co powinno zwrócić a.Equals(b)?
Moim zdaniem było by z tym więcej problemów.
@boo007: hashset jak nazwa wskazuje używa hashCode jako "wartosci" obiektu. gdyby hashSet uzywal equals do porownania obiektow to big O operacji
addbyloby O(n), bo musialbys za kazdym razem porownac nowy obiekt do istniejacych w hashsecie, hashSetaddma O(1),containsteż ma O(1) a przy equals byloby best scanario O(1) worst scenario O(n).