इसके अलावा, जो पहले से ही कहा गया था, स्ट्रिंग शाब्दिक [यानी, स्ट्रिंग्स जैसे "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 बार तत्काल करने की आवश्यकता होगी, जबकि अब यह केवल एक बार त्वरित होगा।