दिलचस्प पोस्ट
एंड्रॉइड में एसडी कार्ड से मैं एक टेक्स्ट फाइल कैसे पढ़ सकता हूं? क्या एक एक्सेल VBA प्रोजेक्ट पर पासवर्ड को ठीक करने का कोई तरीका है? निष्पादन विफल अनुप्रयोग: प्रक्रिया DebugResources एंड्रॉइड स्टूडियो इंटरनेट एक्सप्लोरर 11 का पता लगाने मैं डीएलएल इंजेक्शन कैसे रोकूं? सरणियों के वेक्टर के साथ काम करने का सही तरीका मैं git में मर्ज का पूर्वावलोकन कैसे कर सकता हूं? फेसबुक ओएथ "इस यूआरएल का डोमेन ऐप के डोमेन में शामिल नहीं है" जावा का अर्रे अनुक्रमणिका कहाँ है? वर्णों की सरणी में स्ट्रिंग कैसे विभाजित है? हम किस प्रोग्राम को पता लगा सकते हैं कि कौन से आईओएस संस्करण डिवाइस चल रहा है? फोनगैप / कॉर्डोवा में कुकीज को संभालना सिक्योर वेब सर्विसेज़: HTTPS बनाम SOAP + WS-Security पर REST। कौनसा अच्छा है? मैं एक बटन पर ड्रॉएबल कैसे हट सकता हूं? बाल प्रक्रिया और मूल प्रक्रिया के वैरिएबल का पता समान क्यों है

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

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

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

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

someObjectClassname @ hashcodenumber

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

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

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

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

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

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

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

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

जवाडॉक्स से :

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

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