2017-06-26 13 views

Trả lời

11

Đây là hệ quả của số specification của hashCode() cho Map.Entry, yêu cầu mã băm của khóa và giá trị phải là xor'd.

Những người duy nhất có thể cho bạn biết lý do tại sao mã băm được chọn là những người đã viết ban đầu, mặc dù ấn tượng của tôi là Java hối tiếc xác định hàm băm (xấu) này.

+3

Tôi ngại hỏi bạn đã học cách nào về hành vi này. Trả lời câu hỏi này dưới một phút là rất ấn tượng! – dasblinkenlight

+1

@dasblinkenlight Có thể anh ta đã gặp nó và nghĩ về nó trước đây (như câu trả lời gián đoạn ngày của Thượng Hải nổi tiếng của Jon Skeet). Hoặc có thể điều đầu tiên anh ta làm khi nhìn thấy câu hỏi là tra cứu thực thi 'hashCode' trong' HashMap'. Dù bằng cách nào, nó vẫn còn khá ấn tượng. –

+0

@dasblinkenlight dành cho * ai đó * làm việc rất nhiều với các thư viện cốt lõi; điều này thực sự nên được "ra khỏi kệ" .. – Eugene

Các vấn đề liên quan