Đôi khi bạn có thể muốn tạo một tập hợp các đối tượng có thể phân biệt. Một số đối tượng đó có thể là bằng với nhau, nhưng bạn vẫn muốn tham chiếu đến tất cả các đối tượng ... chỉ ném đi các tham chiếu trùng lặp thực sự. Bạn có thể làm điều đó vì triển khai equals
không phải là thứ bạn quan tâm (một số lớp ghi đè lên equals
khi bạn thực sự không muốn chúng) hoặc vì bạn thực sự chỉ đang cố gắng đếm các trường hợp riêng lẻ, v.v.
Để làm điều đó hiệu quả (tức là được hỗ trợ bởi một bảng băm của một số loại) bạn muốn có một mã băm dựa trên danh tính chứ không phải là bình đẳng - đó là chính xác những gì identityHashCode
cung cấp cho bạn. Đó là hiếm khi hữu ích, nhưng đôi khi nó vẫn có thể hữu ích.
Nguồn
2013-06-14 17:47:37
Uhm, câu hỏi hay ... Bằng cách này, cả hai phương thức trả về một int, không dài – fge