इस आर्टिकल में हम जावा Immutable String क्या हैं? | Immutable String in Java in Hindi के बारे में जानेंगे।
Immutable String क्या हैं? | Immutable String in Java in Hindi
कोई भी एप्लिकेशन प्रोग्राम लिखते समय एक स्ट्रिंग एक unavoidable type का variable है। username, password आदि जैसे various attributes को store करने के लिए स्ट्रिंग reference का उपयोग किया जाता है। जावा में, स्ट्रिंग ऑब्जेक्ट immutable हैं। immutable का अर्थ है unmodifiable या unchangeable।
एक बार String object बन जाने के बाद इसका data या state नहीं बदली जा सकती है लेकिन एक नया स्ट्रिंग ऑब्जेक्ट बनाया जाता है।
आइए नीचे दिए गए उदाहरण द्वारा immutability की अवधारणा को समझने का प्रयास करें:
- Final Keyword क्या हैं? | Final Keyword In Java Hindi
- Final Keyword क्या हैं? | Final Keyword In Java Hindi
class Testimmutablestring{
public static void main(String args[]){
String s="Sachin";
s.concat(" Tendulkar");//concat() method appends the string at the end
System.out.println(s);//will print Sachin because strings are immutable objects
}
}
Output:
Sachin
अब इसे नीचे दिए गए डायग्राम से समझ सकते हैं। यहां Sachin को बदला नहीं जाता बल्कि Sachin Tendulkar के साथ एक new object का निर्माण किया जाता है। इसीलिए String को immutable के रूप में जाना जाता है।
जैसा कि आप उपरोक्त figure में देख सकते हैं कि दो objects बनाए गए हैं लेकिन reference variable अभी भी “Sachin” को refers करता है न कि “Sachin Tendulkar” को।
लेकिन अगर हम इसे स्पष्ट रूप से reference variable के लिए assign करते हैं, तो यह “Sachin Tendulkar” object को refer करेगा।
class Testimmutablestring1{
public static void main(String args[]){
String s="Sachin";
s=s.concat(" Tendulkar");
System.out.println(s);
}
}
Output:
Sachin Tendulkar
ऐसे में s points ‘Sachin Tendulkar’ की ओर इशारा करते हैं. कृपया ध्यान दें कि अभी भी सचिन object modified नहीं है।
जावा में String objects immutable क्यों हैं?
जैसा कि जावा स्ट्रिंग literal की concept का उपयोग करता है। मान लीजिए कि 5 reference variables हैं, सभी एक object “Sachin” को refer करते हैं। यदि एक reference variable object के value को बदलता है, तो यह सभी reference variables से affecte होगा। यही कारण है कि स्ट्रिंग ऑब्जेक्ट जावा में immutable हैं।
निम्नलिखित स्ट्रिंग की कुछ विशेषताएं हैं जो स्ट्रिंग objects को immutable बनाती हैं।
1. ClassLoader:
जावा में एक ClassLoader एक स्ट्रिंग object को argument के रूप में उपयोग करता है। विचार करें, यदि स्ट्रिंग ऑब्जेक्ट modifiable किया जा सकता है, तो मान बदला जा सकता है और जिस class को लोड किया जाना चाहिए वह different हो सकता है।
इस तरह की गलत व्याख्या से बचने के लिए स्ट्रिंग immutable है।
2. Thread Safe:
जैसा कि स्ट्रिंग ऑब्जेक्ट immutable है, हमें उस synchronization का ध्यान नहीं रखना है जो किसी ऑब्जेक्ट को कई थ्रेड्स में share करते समय आवश्यक है।
3. Security:
जैसा कि हमने क्लास लोडिंग में देखा है, immutable स्ट्रिंग ऑब्जेक्ट सही क्लास को लोड करके आगे की errors से बचते हैं। यह एप्लिकेशन प्रोग्राम को और अधिक सुरक्षित बनाने की ओर ले जाता है। बैंकिंग सॉफ्टवेयर के एक उदाहरण पर विचार करें। username और password किसी भी घुसपैठिए द्वारा modifie नहीं किया जा सकता क्योंकि स्ट्रिंग ऑब्जेक्ट immutable हैं। यह एप्लिकेशन प्रोग्राम को और अधिक secure बना सकता है।
4. Heap Space:
स्ट्रिंग की immutability heap memory में उपयोग को कम करने में मदद करती है। जब हम एक नया स्ट्रिंग ऑब्जेक्ट घोषित करने का प्रयास करते हैं, तो JVM जाँचता है कि String pool में value पहले से मौजूद है या नहीं। यदि यह मौजूद है, तो वही मान नई object को सौंपा दिया जायेगा है। यह सुविधा जावा को heap space का efficiently उपयोग करने की अनुमति देती है।
जावा में स्ट्रिंग class Final क्यों है?
स्ट्रिंग क्लास के final होने का कारण यह है कि कोई भी स्ट्रिंग क्लास के तरीकों को ओवरराइड नहीं कर सकता है। ताकि यह नए स्ट्रिंग ऑब्जेक्ट्स के साथ-साथ पुराने लोगों को भी समान सुविधाएँ प्रदान कर सके। Read More
निष्कर्ष
- Super Keyword क्या हैं? | Super Keyword in Java in Hindi
- Covariant Return Type क्या हैं? | Covariant Return Type in Java in Hindi
- Method Overriding क्या हैं? | Method Overriding in Java in Hindi
- Aggregation क्या हैं? | Aggregation in Java in Hindi?
आशा करता हूँ कि आज के इस आर्टिकल में आपको Immutable String क्या हैं? | Immutable String in Java in Hindi से सम्बंधित आपके सारे आंसर मिल गए होंगे।
आज के इस आर्टिकल में हमने जाना कि Immutable String क्या हैं? | Immutable String in Java in Hindi इस आर्टिकल से संबधित आपका कोई प्रश्न हैं तो आप comment करें में आपकी कमेंट का जबाब जरूर दूंगा।
ऐसे ही IT, Computer Science से रिलेटेड जानकारियाँ पाने के लिए हमारे इस वेबसाइट को सब्सक्राइब कर लीजिये | जिससे आपको हमारी आने वाले नये आर्किल की notification प्राप्त हो सके।
अगर जानकारी अच्छी लगी हो तो अपने दोस्तों और class mate के साथ ये जानकारी जरूर शेयर करें जिससे उनकी भी हेल्प हो सके।
FAQ प्रश्न-
-
Immutable String क्या हैं? | Immutable String in Java in Hindi
कोई भी एप्लिकेशन प्रोग्राम लिखते समय एक स्ट्रिंग एक unavoidable type का variable है। username, password आदि जैसे various attributes को store करने के लिए स्ट्रिंग reference का उपयोग किया जाता है। जावा में, स्ट्रिंग ऑब्जेक्ट immutable हैं। immutable का अर्थ है unmodifiable या unchangeable।