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

जावा में स्ट्रिंग इंटर्निंग

स्ट्रिंग इंटर्निंग एक प्रक्रिया है जिसमें हर विशिष्ट स्ट्रिंग मान की एक सिंगल कॉपी स्टोर की जाती है। इसके अलावा, स्ट्रिंग्स को बदला भी नहीं जा सकता। इस तरह, स्ट्रिंग्स समान डेटा रख सकते हैं और साथ ही समान मेमोरी साझा कर सकते हैं। इस तरह, आवश्यक मेमोरी काफी कम हो जाएगी।

जब intern फंक्शन को कॉल किया जाता है:

  • यह दो स्ट्रिंग्स के बीच समानता की जांच करता है - चाहे स्ट्रिंग ऑब्जेक्ट स्ट्रिंग कॉन्स्टेंट पूल (SCP) में मौजूद है या नहीं।

  • यदि उपलब्ध है, तो स्ट्रिंग को पूल से प्राप्त करके वापस किया जाता है। अन्यथा, एक नया String ऑब्जेक्ट बनाया जाता है और पूल में जोड़ा जाता है। इस String ऑब्जेक्ट का एक संदर्भ भी वापस किया जाता है।

  • यदि दो स्ट्रिंग्स a और b के लिए, a.intern() == b.intern() सत्य है यदि और केवल यदि a.equals(b) true वापस करता है।

आइए एक उदाहरण देखें:

उदाहरण

public class Demo{ 
    public static void main(String[] args){ 
        String s1 = new String("Its"); 
        String s2 = s1.concat("sample"); 
        String s3 = s2.intern(); 
        System.out.println("ऑब्जेक्ट 2 और 3 की समानता की जांच:"); 
        System.out.println(s2 == s3); 
        String s4 = "Its a sample"; 
        System.out.println("ऑब्जेक्ट 3 और 4 की समानता की जांच:"); 
        System.out.println(s3 == s4); 
    } 
}

आउटपुट

ऑब्जेक्ट 2 और 3 की समानता की जांच: true 
ऑब्जेक्ट 3 और 4 की समानता की जांच: false

Demo नामक एक क्लास में मुख्य फंक्शन होता है। यहां String ऑब्जेक्ट्स के तीन इंस्टेंस परिभाषित किए जाते हैं, जिसमें दूसरी स्ट्रिंग पहली स्ट्रिंग के साथ एक अलग मान का कन्कैटिनेशन है। तीसरी स्ट्रिंग दूसरी स्ट्रिंग पर intern फंक्शन कॉल है। इन स्ट्रिंग्स की तुलना == ऑपरेटर का उपयोग करके की जाती है और परिणाम कंसोल पर प्रदर्शित किया जाता है।

  1. Java में StringIndexOutOfBoundsException क्या है? Java में StringIndexOutOfBoundsException क्या है?

    स्ट्रिंग्स का उपयोग Java में वर्णों के अनुक्रम को संग्रहीत करने के लिए किया जाता है, उन्हें ऑब्जेक्ट्स के रूप में माना जाता है। java.lang पैकेज का String क्लास एक स्ट्रिंग का प्रतिनिधित्व करता है। आप स्ट्रिंग को या तो new कीवर्ड का उपयोग करके (किसी अन्य ऑब्जेक्ट की तरह) बना सकते हैं, या लिटरल को मान

  1. - जावा में String को InputStream ऑब्जेक्ट में कैसे बदलें?

    ByteArrayInputStream InputStream क्लास का एक सबक्लास है और इसमें एक आंतरिक बफर होता है जिसमें बाइट्स होते हैं जिन्हें स्ट्रीम से पढ़ा जा सकता है। हम ByteArrayInputStream क्लास का उपयोग करके String को InputStream ऑब्जेक्ट में बदल सकते हैं। इस क्लास कंस्ट्रक्टर स्ट्रिंग बाइट ऐरे लेता है जिसे String क

  1. - Java में Polymorphism (पॉलीमॉर्फिज्म)

    पॉलीमॉर्फिज्म एक ऑब्जेक्ट की कई रूप लेने की क्षमता है। OOP में पॉलीमॉर्फिज्म का सबसे आम उपयोग तब होता है जब एक पैरेंट क्लास रेफरेंस का उपयोग चाइल्ड क्लास ऑब्जेक्ट को संदर्भित करने के लिए किया जाता है।कोई भी Java ऑब्जेक्ट जो एक से अधिक IS-A टेस्ट पास कर सकता है, उसे पॉलीमॉर्फिक माना जाता है। Java में