Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में स्ट्रिंग क्लास अपरिवर्तनीय या अंतिम क्यों है?


स्ट्रिंग अपरिवर्तनीय है इसका मतलब है कि हम ऑब्जेक्ट को स्वयं नहीं बदल सकते हैं, लेकिन हम ऑब्जेक्ट के संदर्भ को बदल सकते हैं। स्ट्रिंग को अंतिम रूप दिया जाता है ताकि अन्य इसे विस्तारित न कर सकें और इसकी अपरिवर्तनीयता को नष्ट कर सकें।

  • सुरक्षा पैरामीटर्स को आमतौर पर नेटवर्क कनेक्शन, डेटाबेस कनेक्शन यूआरएल, उपयोगकर्ता नाम/पासवर्ड इत्यादि में स्ट्रिंग के रूप में दर्शाया जाता है। यदि यह परिवर्तनीय था, तो इन पैरामीटर को आसानी से बदला जा सकता था।
  • सिंक्रनाइज़ेशन और समवर्ती स्ट्रिंग को अपरिवर्तनीय बनाना स्वचालित रूप से उन्हें थ्रेड सुरक्षित बनाता है जिससे सिंक्रनाइज़ेशन मुद्दों को हल किया जाता है।
  • कैशिंग जब कंपाइलर हमारे स्ट्रिंग ऑब्जेक्ट्स को ऑप्टिमाइज़ करता है, तो ऐसा लगता है कि यदि दो ऑब्जेक्ट्स का एक ही मान (a ="टेस्ट", और b ="टेस्ट") है और इस प्रकार हमें केवल एक स्ट्रिंग ऑब्जेक्ट की आवश्यकता है (ए और बी दोनों के लिए, ये दोनों इंगित करेंगे) एक ही वस्तु के लिए)।
  • कक्षा लोड हो रहा है स्ट्रिंग का उपयोग क्लास लोडिंग के लिए तर्क के रूप में किया जाता है। यदि परिवर्तनशील है, तो इसका परिणाम गलत वर्ग को लोड किया जा सकता है (क्योंकि परिवर्तनशील वस्तुएं अपनी स्थिति बदलती हैं)।

उदाहरण:

public class StringImmutableDemo {
   public static void main(String[] args) {
      String st1 = "Tutorials";
      String st2 = "Point";
      System.out.println("The hascode of st1 = " + st1.hashCode());
      System.out.println("The hascode of st2 = " + st2.hashCode());
      st1 = st1 + st2;
      System.out.println("The Hashcode after st1 is changed : "+ st1.hashCode());
   }
}

आउटपुट:

The hascode of st1 = -594386763
The hascode of st2 = 77292912
The Hashcode after st1 is changed : 962735579

  1. जावा में अंतिम चर

    एक अंतिम चर को स्पष्ट रूप से केवल एक बार प्रारंभ किया जा सकता है। किसी अन्य ऑब्जेक्ट को संदर्भित करने के लिए अंतिम घोषित किए गए संदर्भ चर को कभी भी पुन:असाइन नहीं किया जा सकता है। हालांकि, ऑब्जेक्ट के भीतर डेटा बदला जा सकता है। तो, वस्तु की स्थिति को बदला जा सकता है लेकिन संदर्भ को नहीं। चरों के सा

  1. जावा में अंतिम कीवर्ड

    final जावा तत्वों के लिए एक गैर-पहुंच संशोधक है। अंतिम संशोधक का उपयोग कक्षाओं, विधियों और चर के कार्यान्वयन को अंतिम रूप देने के लिए किया जाता है। अंतिम चर एक अंतिम चर को स्पष्ट रूप से केवल एक बार प्रारंभ किया जा सकता है। अंतिम घोषित किए गए संदर्भ चर को किसी भिन्न वस्तु को संदर्भित करने के लिए कभी

  1. जावा में एकाधिक वंशानुक्रम समर्थित क्यों नहीं है

    Java में, एक वर्ग एक से अधिक वर्ग का विस्तार नहीं कर सकता है। इसलिए निम्नलिखित अवैध है - उदाहरण public class extends Animal, Mammal{} हालांकि, एक वर्ग एक या अधिक इंटरफेस को लागू कर सकता है, जिससे जावा को कई विरासतों की असंभवता से छुटकारा पाने में मदद मिली है। इसके पीछे का कारण अस्पष्टता को रोकना ह