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

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

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

जब 'इंटर्न' फ़ंक्शन को -

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

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

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

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

उदाहरण

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("Checking equality of object 2 and 3 :");
      System.out.println(s2 == s3);
      String s4 = "Its a sample";
      System.out.println("Checking equality of object 3 and 4 :");
      System.out.println(s3 == s4);
   }
}

आउटपुट

Checking equality of object 2 and 3 :
true
Checking equality of object 3 and 4 :
false

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


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

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

  1. जावा में स्ट्रिंग को इनपुटस्ट्रीम ऑब्जेक्ट में कैसे परिवर्तित करें?

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

  1. जावा में बहुरूपता

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