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

हम जावा में स्ट्रिंग क्लास की इंटर्न () विधि का उपयोग कब कर सकते हैं?


इंटर्न() विधि स्ट्रिंग वर्ग . का स्ट्रिंग दोहराव की समस्याओं से निपटने के लिए इस्तेमाल किया जा सकता है जावा में। इंटर्न () का उपयोग करना हम डुप्लिकेट स्ट्रिंग इंस्टेंस द्वारा खपत की गई बहुत सारी मेमोरी को बचा सकते हैं . एक स्ट्रिंग डुप्लिकेट होती है यदि उसमें अन्य स्ट्रिंग के समान सामग्री होती है लेकिन इसे विभिन्न मेमोरी स्थानों पर कब्जा किया जा सकता है।

हम जानते हैं कि JVM एक अलग हीप मेमोरी को बनाए रखता है प्रदर्शन के लिए स्ट्रिंग अक्षर के लिए। एक बार जब हम एक स्ट्रिंग को शाब्दिक घोषित कर देते हैं तो यह इस पूल . पर जाएगा और यदि कोई अन्य चर समान शाब्दिक मान के साथ असाइन किया गया है, तो उसे पूल से चुना जाएगा नई वस्तु बनाने के बजाय और इसे ढेर . में संग्रहीत करना . लेकिन अगर स्ट्रिंग को नए निर्माण . का उपयोग करके घोषित किया जाता है r, पूल में शाब्दिक मौजूद होने पर भी एक नई वस्तु बनाई जाएगी। इससे बचने के लिए और JVM को पूल से शाब्दिक चयन करने के लिए बाध्य करने के लिए हम intern() . का उपयोग करते हैं विधि।

जावा स्वचालित रूप से सभी स्ट्रिंग्स को डिफ़ॉल्ट रूप से इंटर्न करता है। इंटर्न () स्ट्रिंग में विधि का उपयोग n . के साथ किया जा सकता है ईव स्ट्रिंग () ==ऑपरेटर द्वारा उनकी तुलना करने के लिए।

उदाहरण

public class StringInternClassTest {
   public static void main(String[] args) {
      String s1 = "Tutorix";
      String s2 = "Tutorix";
      String s3 = new String("Tutorix");
      final String s4 = s3.intern();
      String s5 = "?Tutorix".substring(1);
      String s6 = s5.intern();
      System.out.println(s1 == s2);
      System.out.println(s2 == s3);
      System.out.println(s3 == s4);
      System.out.println(s1 == s3);
      System.out.println(s1 == s4);
      System.out.println(s1 == s5);
      System.out.println(s1 == s6);
      System.out.println(s1.equals(s2));
      System.out.println(s2.equals(s3));
      System.out.println(s3.equals(s4));
      System.out.println(s1.equals(s4));
      System.out.println(s1.equals(s3));
   }
}

आउटपुट

true
false
false
false
true
false
true
true
true
true
true
true

  1. जावा में स्ट्रिंग इंटर्न () विधि की क्या भूमिका है?

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

  1. हम जावा में पैक () विधि का उपयोग कब कर सकते हैं?

    द पैक() विधि विंडो . में परिभाषित है जावा में वर्ग और यह फ्रेम को आकार देता है ताकि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हो। पैक() . का एक विकल्प विधि setSize() . को कॉल करके स्पष्ट रूप से एक फ्रेम आकार स्थापित करना है या सेटबाउंड्स () तरीके। सामान्य तौर पर, पैक () . का उपयोग करते हु

  1. एक अमूर्त वर्ग का उपयोग कब करें और जावा में इंटरफ़ेस का उपयोग कब करें?

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