2017-06-26 13 views

Odpowiedz

11

Jest to konsekwencją specification z hashCode() dla Map.Entry, która wymaga, aby kody skrótu dla kluczy i wartości były XOR'D.

Jedynymi osobami, które mogą powiedzieć, że , dlaczego został wybrany ten kod skrótu, są ludzie, którzy napisali go oryginalnie, choć mam wrażenie, że Java żałuje, że określam tę (złą) funkcję skrótu.

+3

Boję się spytać, w jaki sposób dowiedziałeś się o tym zachowaniu. Udzielenie odpowiedzi na to pytanie w ciągu minuty jest bardzo imponujące! – dasblinkenlight

+1

@dasblinkenlight Prawdopodobnie spotkał się z tym i pomyślał o tym wcześniej (jak słynna odpowiedź Jima Skeeta na temat nieciągłości). Być może pierwszą rzeczą, którą zrobił, gdy zobaczył pytanie, było sprawdzenie implementacji 'hashCode' w' HashMap'. Tak czy inaczej, wciąż robi wrażenie. –

+0

@ dasblinkenlight dla * osoby *, która działa tak bardzo w podstawowych bibliotekach; to powinno być naprawdę "z półki". – Eugene

Powiązane problemy