मैंने यह Questions about Java's String pool पढ़ा और स्ट्रिंग पूल की मूल अवधारणा को समझ लिया लेकिन फिर भी व्यवहार को समझ में नहीं आया।स्ट्रिंग पूल व्यवहार
पहले: यह काम करता है अगर आप सीधे s2 मान असाइन और दोनों S1 और पूल
String s1 = "a" + "bc";
String s2 = "ab" + "c";
System.out.println("s1 == s2? " + (s1 == s2));
लेकिन फिर अगर मैं बदल स्ट्रिंग S1 + = "डी", तो पूल में एक ही वस्तु को देखें एक स्ट्रिंग ऑब्जेक्ट "abcd" होना चाहिए? तो जब मैं s2 + = "d" बदलता हूं, तो उसे पूल में स्ट्रिंग ऑब्जेक्ट "abcd" मिलना चाहिए और ऑब्जेक्ट को s2 को असाइन करना चाहिए? लेकिन ऐसा नहीं है और वे एक ही वस्तु को संदर्भित नहीं हैं। ऐसा क्यों है?
String s1 = "abc";
String s2 = "abc";
System.out.println("s1 == s2? " + (s1 == s2));
s1 += "d";
s2 += "d";
System.out.println("s1 == s2? " + (s1 == s2));
[जावा के स्ट्रिंग पूल के बारे में प्रश्न] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/1881922/questions-about-javas-string-pool) – EJP
@EJP Asker उस विषय का उल्लेख करता है और कहता है कि यह नहीं हुआ अपने सवालों का जवाब दें। – glomad