String.hashCode()
के वर्तमान कार्यान्वयन पर भरोसा करना सुरक्षित है या नहीं, क्योंकि तकनीकी रूप से बोलते हुए, यह विनिर्देश (जावाडोक) द्वारा गारंटीकृत है, इस बारे में एक सतत बहस है।सूर्य ने स्ट्रिंग.hashCode() कार्यान्वयन क्यों निर्दिष्ट किया?
- सूर्य ने
String.hashCode()
के विनिर्देशन में कार्यान्वयन क्यों निर्दिष्ट किया? - डेवलपर्स को हैशकोड() के विशिष्ट कार्यान्वयन पर भरोसा करने की आवश्यकता क्यों होगी?
- सूर्य इतना डर क्यों है कि भविष्य में
String.hashCode()
बदल दिया गया है तो आकाश गिर जाएगा? (यह संभवतः # 2 द्वारा समझाया जा सकता है)
अच्छा बिंदु! मुझे आश्चर्य है ... क्या वे हैशकोड() को लॉक किए बिना वही चीज़ हासिल कर सकते हैं? – Gili
@Gili, "कार्यान्वयन और VersionIndependentHashCode()" नामक विधि जोड़ने के बिना नहीं ;-) – Rob
@Gili अगर उन्होंने हैशकोड को लॉक नहीं किया है, तो वे कैसे सुनिश्चित कर सकते हैं कि आरएमआई के माध्यम से जुड़े दो मशीनें आगे और आगे हो सकती हैं? मेरा अनुमान है कि आपको सिर्फ एक साझा हैश की अवधारणा को छोड़ना है। –