मैं अगर तुमJVM पुन: उपयोग स्ट्रिंग सबस्ट्रिंग्स को कैसे पुन: उपयोग करता है?
for (condition) {
String s = "hi there";
}
बस एक String
उदाहरण सभी पुनरावृत्तियों में बन जाता है बनाने के लिए, String s = new String("hi there");
विपरीत प्रत्येक चरण में एक नया उदाहरण पैदा करेगा कि बारे में पता कर रहा हूँ।
लेकिन, यहोशू बलोच से पढ़ने प्रभावी जावा: अध्याय 2 आइटम 5 (पेज 20) यह कहता है:
इसके अलावा, यह गारंटी है कि वस्तु ही में चल रहे किसी अन्य कोड से पुन: उपयोग किया जाएगा वर्चुअल मशीन जो पर होती है समान स्ट्रिंग शाब्दिक [JLS, 3.10.5] होती है।
AFAIK नहीं कहा गया है कि के लिए होता एक ही स्ट्रिंग शाब्दिक हो, यह कहता है शामिल हैं।
पढ़ना [JLS, 3.10.5] इस पर कोई सटीक संदर्भ नहीं मिल रहा है और मुझे संदेह है।
String s1 = "hi ";
String s2 = "there";
String s3 = "hi there";
कैसे कई मामलों बनाई गई हैं:
इस स्निपेट देते?
- 3 उदाहरण (इस प्रकार, वाक्यांश वास्तव में सटीक नहीं है)।
- 2 उदाहरणों,
s1
औरs2
शायद इसका अर्थ है "वर्चुअल मशीन में ..", स्ट्रिंग में कोई अन्य स्ट्रिंग –
नहीं है, मुझे यकीन नहीं है, इसलिए उत्तर के बजाय एक टिप्पणी। लेकिन मुझे लगता है कि "युक्त" आंशिक रूप से गलत है और आपका उदाहरण वास्तव में तीन उदाहरण उत्पन्न करता है। – glglgl
@glglgl वास्तव में क्या है * मेरा तर्क * कहता है, लेकिन 's1' + s2' के संदर्भ के रूप में 's3' बनाने के लिए पर्याप्त JVM स्मार्ट हो सकता है ?? –