इसके अलावा, जो पहले से ही कहा गया था, स्ट्रिंग शाब्दिक [यानी, स्ट्रिंग्स जैसे "abcd"लेकिन नहीं जैसे new String("abcd")] जावा में नजरबंद हैं - इसका मतलब है कि हर बार जब आप "एब्सकांड" का संदर्भ देते हैं String, तो आपको एक नया उदाहरण के बजाय एक उदाहरण मिलता है। हर बार। तो आपके पास होगा:
String a = "abcd";
String b = "abcd";
a == b; //True
लेकिन अगर आपके पास था
String a = new String("abcd");
String b = new String("abcd");
तब यह संभव है
a == b; // False
(और यदि किसी को याद दिलाने की आवश्यकता है, तो हमेशा .equals()स्ट्रिंग्स की तुलना करने के लिए उपयोग करें; ==शारीरिक समानता के लिए परीक्षण)।
स्ट्रिंग स्ट्रिंग शाब्दिक अच्छा है क्योंकि वे अक्सर एक से अधिक बार उपयोग किए जाते हैं। उदाहरण के लिए, (contrived) कोड पर विचार करें:
for (int i = 0; i < 10; i++) {
System.out.println("Next iteration");
}
यदि हमारे पास स्ट्रिंग्स की इंटर्निंग नहीं है, तो "अगला पुनरावृत्ति" को 10 बार तत्काल करने की आवश्यकता होगी, जबकि अब यह केवल एक बार त्वरित होगा।