दिलचस्प पोस्ट
जावा को आकार 0 के सरणियों की अनुमति क्यों है? पायथन भाषा के लिए isPrime फ़ंक्शन जेवीएम, जेडीके, जेआरई और ओपन जेडीके में क्या अंतर है? Google मैप इन्फोलाइन इंडेक्स ठीक से नहीं दिखा रहा है Arrays अपरिवर्तनीय क्यों हैं, लेकिन कम्युनिस्ट सूची? एक UIView की पृष्ठभूमि की छवि कैसे भरें वेबकिट में अनपेक्षित टोकन अवैध सी # एक enum के माध्यम से बदलना? (इंडेक्सिंग सिस्टम। अर्रे) बनाम क्लिक विधियों पर jquery MySQL 5.1 से ईमेल कैसे भेजें मैं क्यों नहीं कर सकता <img src = "C: /localfile.jpg">? ज्ञात न्यूनतम और अधिकतम मूल्य के साथ संख्याओं की श्रेणी को कैसे स्केल किया जाए एंड्रॉइड में संपत्ति और कच्चे संसाधनों का कारण त्रुटि: ग्राहक को भेजे जाने के बाद हेडर सेट नहीं कर सकते जावा में किसी भी वेब पेज से छवि को कैसे डाउनलोड करें

डिफ़ॉल्ट ऑब्जेक्ट.स्टोस्टिंग () क्यों हैशोड में शामिल है?

यदि आप निष्पादित करते हैं:

System.out.println(someObj.toString()); 

आप शायद आउटपुट की तरह देखते हैं

someObjectClassname @ hashcodenumber

मेरा प्रश्न: क्या कोई विशिष्ट कारण है कि हश कोड नंबर वहां प्रदर्शित होता है?

वेब के समाधान से एकत्रित समाधान "डिफ़ॉल्ट ऑब्जेक्ट.स्टोस्टिंग () क्यों हैशोड में शामिल है?"

ऑब्जेक्ट हैश कोड एकमात्र मानक पहचानकर्ता है जो आपको जावा के अलावा अलग-अलग मनमानी वस्तुओं को बताने की अनुमति दे सकता है। यह जरूरी नहीं है कि अद्वितीय है, लेकिन बराबर वस्तुओं में सामान्य रूप से एक ही हैश कोड होता है।

डिफ़ॉल्ट toString() विधि ऑब्जेक्ट क्लास और उसके हैश कोड को दिखाती है ताकि आप उम्मीद कर सकें कि अलग ऑब्जेक्ट इंस्टेंस अलग हैं। चूंकि यह त्रुटि संदेशों में डिफ़ॉल्ट रूप से भी उपयोग किया जाता है, इसलिए यह काफी समझदारी बना देता है।

अधिक जानकारी के लिए hashCode() विधि का विवरण देखें

उपयोगी कुछ जोड़ना

कुछ newbies के रूप में उलझन में हो सकता है क्यों hascode मूल्य स्ट्रिंग toString() माध्यम से लौटे हैश कोड toString() माध्यम से वापस आ गया है की तुलना में अलग है इसका कारण यह है कि toString() विधि उसी हैशोड के हेक्स प्रस्तुतीकरण देता है।

Integer.toHexString(object.getHashcode); object.toString() द्वारा लौटाए गए समान मूल्य वापस करेगा।

जवाडॉक्स से :

यथोचित व्यावहारिक रूप से, कक्षा ऑब्जेक्ट द्वारा परिभाषित hashCode विधि अलग-अलग ऑब्जेक्ट के लिए अलग-अलग पूर्णांक देता है। (यह आम तौर पर ऑब्जेक्ट के आंतरिक पते को एक पूर्णांक में परिवर्तित करके कार्यान्वित किया जाता है, लेकिन JavaTM प्रोग्रामिंग भाषा द्वारा इस कार्यान्वयन तकनीक की आवश्यकता नहीं है।)

हैशोड ऑब्जेक्ट की स्ट्रिंग प्रस्तुति में प्रकट होता है ताकि आप इस ऑब्जेक्ट को उसी क्लास के अन्य ऑब्जेक्ट से अलग कर सकें। यह डिबगिंग के लिए उपयोगी हो सकता है