कभी-कभी आप अलग-अलग वस्तुओं का एक सेट बनाना चाहते हैं। उनमें से कुछ ऑब्जेक्ट बराबर एक दूसरे के लिए हो सकते हैं, लेकिन आप अभी भी उन सभी के संदर्भ चाहते हैं ... केवल वास्तविक रूप से डुप्लिकेट संदर्भों को फेंक दें। आप ऐसा कर सकते हैं क्योंकि equals
कार्यान्वयन वह नहीं है जिसमें आप रुचि रखते हैं (कुछ कक्षा equals
ओवरराइड करते हैं जब आप वास्तव में उन्हें नहीं चाहते हैं) या क्योंकि आप वास्तव में अलग-अलग उदाहरणों की गिनती करने की कोशिश कर रहे हैं।
कुशलतापूर्वक ऐसा करने के लिए (यानी किसी प्रकार की हैश तालिका द्वारा समर्थित) आप समानता की बजाय पहचान पर आधारित हैश कोड चाहते हैं - जो वास्तव में identityHashCode
आपको देता है। यह शायद ही कभी उपयोगी है, लेकिन यह कई बार आसानी से काम कर सकता है।
स्रोत
2013-06-14 17:47:37
उहम, अच्छा सवाल ... वैसे, दोनों विधियां एक int लौटती हैं, लंबे समय तक नहीं – fge