जावा स्ट्रिंग का हैशकोड मान (String.hashCode () ) के रूप में गणना की जाती है :
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
क्या कोई परिस्थितियां हैं (जेवीएम संस्करण, विक्रेता, आदि का कहना है) जिसके तहत निम्नलिखित अभिव्यक्ति झूठी का मूल्यांकन करेगी?
boolean expression = "This is a Java string".hashCode() == 586653468
अद्यतन # 1: यदि आप दावा करते हैं कि इसका उत्तर "हाँ, ऐसी परिस्थितियाँ हैं" - तो कृपया "यह जावा स्ट्रिंग है" का ठोस उदाहरण दें। .शशकोड ()! = 586653468। विशिष्ट या ठोस होने का प्रयास करें। यथासंभव।
अपडेट # 2: हम सभी जानते हैं कि हैशकोड () के कार्यान्वयन विवरणों पर भरोसा करना सामान्य तौर पर बुरा है। हालाँकि, मैं विशेष रूप से String.hashCode () के बारे में बात कर रहा हूँ - इसलिए कृपया उत्तर String.hashCode () पर केंद्रित रखें। Object.hashCode () इस प्रश्न के संदर्भ में पूरी तरह अप्रासंगिक है।