Nếu chỉ có một số lĩnh vực của một đối tượng đại diện cho nhà nước thực tế, tôi cho rằng những thể bỏ qua khi trọng equals
và hashCode
...Tiềm năng tiềm ẩn khi bỏ qua một số trường bằng bằng/hashCode?
tôi nhận được một cảm giác khó chịu về điều này tuy nhiên, và muốn hỏi,
- Đây có phải là thông lệ phổ biến không?
- Có bất kỳ cạm bẫy tiềm năng nào với phương pháp này không?
- Có bất kỳ tài liệu hoặc hướng dẫn nào khi bỏ qua một số trường trong
equals
/hashCode
không?
Trong trường hợp cụ thể của tôi, tôi đang khám phá một không gian trạng thái của sự cố. Tôi muốn giữ một bộ băm của các quốc gia được truy cập, nhưng tôi cũng đang xem xét bao gồm đường dẫn dẫn đến trạng thái. Rõ ràng, hai trạng thái bằng nhau, mặc dù chúng được tìm thấy thông qua các đường dẫn khác nhau.
Như bạn đã đề cập, bạn KHÔNG bao gồm "đường dẫn" trong bằng hoặc hashCode() –
Tôi thích câu trả lời này, nhưng bạn phần nào tránh ba câu hỏi của tôi :-) – aioobe
trả lời câu hỏi của bạn. –