जावा स्ट्रिंग इंटर्न ()

जावा स्ट्रिंग इंटर्न () विधि स्ट्रिंग ऑब्जेक्ट का एक कैनोनिकल प्रतिनिधित्व लौटाती है।

स्ट्रिंग intern()विधि का सिंटैक्स है:

 string.intern()

यहाँ, स्ट्रिंग Stringकक्षा की एक वस्तु है ।

इंटर्न () पैरामीटर्स

intern()विधि कोई पैरामीटर नहीं लेता है।

इंटर्न () रिटर्न वैल्यू

  • स्ट्रिंग का एक विहित प्रतिनिधित्व देता है

जावा स्ट्रिंग इंटरस्टिंग क्या है?

स्ट्रिंग इंटर्न यह सुनिश्चित करता है कि समान सामग्री वाले सभी तार एक ही मेमोरी का उपयोग करें।

मान लीजिए, हम ये दो तार हैं:

 String str1 = "xyz"; String str2 = "xyz";

चूंकि दोनों str1और str2समान सामग्री है, इसलिए ये दोनों तार एक ही मेमोरी साझा करेंगे। जावा स्वचालित रूप से स्ट्रिंग शाब्दिक इंटर्न करता है।

हालाँकि, यदि आप newकीवर्ड का उपयोग करके स्ट्रिंग्स बनाते हैं, तो ये स्ट्रिंग्स समान मेमोरी साझा नहीं करेंगे। उदाहरण के लिए,

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )

जैसा कि आप इस उदाहरण से देख सकते हैं, str1 और str2 दोनों की सामग्री समान है। हालाँकि, वे समान नहीं हैं क्योंकि वे समान मेमोरी साझा नहीं करते हैं।

इस स्थिति में, आप मैन्युअल रूप से intern()विधि का उपयोग कर सकते हैं ताकि समान सामग्री वाले तार के लिए उसी मेमोरी का उपयोग किया जाए।

उदाहरण: जावा स्ट्रिंग इंटर्न ()

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); // str1 and str2 doesn't share the same memory pool System.out.println(str1 == str2); // false // using the intern() method // now both str1 and str2 share the same memory pool str1 = str1.intern(); str2 = str2.intern(); System.out.println(str1 == str2); // true ) )

जैसा कि आप देख सकते हैं, str1 और str2 दोनों में समान सामग्री है, लेकिन वे शुरू में समान नहीं हैं।

हम तब intern()विधि का उपयोग करते हैं ताकि str1 और str2 एक ही मेमोरी पूल का उपयोग करें। हम उपयोग करने के बाद intern(), str1 और str2 बराबर हैं।

दिलचस्प लेख...