جاوا میں String.intern() کیا ہے؟

Jawa My String Intern Kya



جاوا میں، ' انٹرن () اس بات کو یقینی بنانے کے لیے طریقہ استعمال کیا جاتا ہے کہ اگر سٹرنگ کی ایک بڑی مقدار ڈیٹا کو اسٹور کرتی ہے تو ایک ہی عنصر والی سٹرنگز ایک ہی میموری کو شیئر کرتی ہیں۔ یہ طریقہ پروگرام کے لیے میموری کی جگہ کو کم کرنے کے لیے بہت مفید ہے۔ مثال کے طور پر، اگر آپ کے پاس ملازمین کے ناموں کی ایک بڑی فہرست ہے جہاں نام ' جیک دس بار ظاہر ہوتا ہے۔ ' انٹرن () 'طریقہ اس بات کو یقینی بنائے گا کہ' جیک ” میموری میں صرف ایک جگہ پر قبضہ کرتا ہے۔

یہ پوسٹ جاوا میں String.intern() طریقہ کے استعمال پر بحث کرے گی۔







جاوا میں String.intern() کیا ہے؟

' انٹرن () جاوا میں طریقہ بیان کردہ سٹرنگ آبجیکٹ کا حوالہ واپس کرنے کے لیے استعمال کیا جاتا ہے۔ تاہم، اگر سٹرنگ آبجیکٹ سٹرنگ پول میں ایک ہی مواد/ڈیٹا کے ساتھ موجود ہے، تو یہ پچھلے سٹرنگ کا حوالہ واپس کر دے گا۔ مزید برآں، اگر سٹرنگ پول میں موجود نہیں ہے تو یہ نئی سٹرنگ اور اس کا حوالہ سٹرنگ پول میں شامل کر دے گا۔



نحو

بیان کردہ طریقہ کو استعمال کرنے کے لیے، صرف ذیل میں دی گئی ترکیب پر عمل کریں:



تار . انٹرن ( )

اس مثال میں، ہم اس بات پر بات کریں گے کہ 'کو استعمال کرنے کی ضرورت کیوں ہے؟ انٹرن () جاوا میں طریقہ جب اسٹرنگ کو ہیپ میں بنایا جاتا ہے سٹرنگ() 'کنسٹرکٹر۔ سب سے پہلے، ایک سٹرنگ آبجیکٹ بنایا جاتا ہے ' سٹرنگ() 'کنسٹرکٹر۔ اس کے بعد، سٹرنگ کا ڈیٹا اس آبجیکٹ کو پیرامیٹر کے طور پر منتقل کیا جاتا ہے اور ایک متغیر میں محفوظ کیا جاتا ہے:





تار a = نئی تار ( 'Linuxhint میں خوش آمدید۔' ) ;

اسی طریقہ کار پر عمل کرکے ایک اور سٹرنگ آبجیکٹ بنایا گیا ہے۔

تار ب = نئی تار ( 'Linuxhint میں خوش آمدید' ) ;

پکارو ' println()' طریقہ اور سیٹ کریں 'a=b 'اس طریقہ کار کی دلیل کے طور پر۔ یہ نتیجہ کو غلط کے طور پر لوٹائے گا کیونکہ میموری میں ہر اسٹرنگ کی اپنی جگہ ہوتی ہے۔



سسٹم . باہر . پرنٹ ایل این ( a == ب ) ;

یہ دیکھا جا سکتا ہے کہ اوپر بیان کردہ مثال کی آؤٹ پٹ غلط واپس آتی ہے:

مثال 1: String.intern() سٹرنگ آبجیکٹ چیک کرنے کا طریقہ

اس مثال میں، دو سٹرنگ آبجیکٹ ' سٹرنگ() کنسٹرکٹر اور اسٹرنگ کو کنسٹرکٹر کو بطور دلیل منتقل کیا جاتا ہے۔ اگلا، 'دعوت کریں انٹرن () 'ہر سٹرنگ کے لیے طریقہ اور پہلی سٹرنگ کو متغیر میں اسٹور کریں' a 'اور دوسرا' میں ب ' حالت چیک کریں ' a=b 'اور استعمال کریں' println() نتیجہ ظاہر کرنے کے لیے:

تار a = نئی تار ( 'Linuxhint میں خوش آمدید' ) . انٹرن ( ) ;
تار ب = نئی تار ( 'Linuxhint میں خوش آمدید' ) . انٹرن ( ) ;
سسٹم . باہر . پرنٹ ایل این ( a == ب ) ;

نتیجے کے طور پر، یہ واپس کرتا ہے ' سچ ' قدر کیونکہ ' انٹرن () ' طریقہ اس بات کو یقینی بناتا ہے کہ ہر اسٹرنگ نے سٹرنگ ڈیٹا کو ذخیرہ کرنے کے لیے ایک ہی میموری میں جگہ پر قبضہ کیا ہے:

مثال 2: String.intern() سٹرنگ اور سٹرنگ آبجیکٹ کو چیک کرنے کا طریقہ

اس بیان کردہ مثال میں، مختلف تاریں مختلف متغیرات میں تخلیق اور ذخیرہ کی جاتی ہیں۔ اس مقصد کے لیے، سب سے پہلے، ایک متغیر کو سٹرنگ ویلیو کے ساتھ شروع کیا جاتا ہے۔ لینکس ”:

تار a = 'لینکس' ;

استعمال کریں ' انٹرن () سٹرنگ تک رسائی کا طریقہ a 'اور اسے متغیر میں محفوظ کریں' ب ”:

تار ب = a انٹرن ( ) ;

ایک نئی سٹرنگ قسم کی آبجیکٹ 'کی مدد سے بنائی گئی ہے۔ سٹرنگ() 'کنسٹرکٹر اور پاس کرتا ہے' لینکس اس کنسٹرکٹر کے پیرامیٹر کے طور پر۔ پھر، اسے متغیر میں محفوظ کریں ' c ”:

تار c = نئی تار ( 'لینکس' ) ;

پکارو ' انٹرن () 'متغیر تک رسائی کا طریقہ' c 'اور نتیجہ کو' میں محفوظ کریں ڈی ”:

تار ڈی = c انٹرن ( ) ;

اب، ان تخلیق کردہ تاروں کا ایک دوسرے سے موازنہ کریں۔ اس مقصد کے لیے، ' println() ' طریقہ اور پیرامیٹر کو ذیل کے کوڈ کے ٹکڑوں کے مطابق پاس کریں:

سسٹم . باہر . پرنٹ ایل این ( a == ب ) ;
سسٹم . باہر . پرنٹ ایل این ( a == c ) ;
سسٹم . باہر . پرنٹ ایل این ( a == ڈی ) ;
سسٹم . باہر . پرنٹ ایل این ( ب == c ) ;
سسٹم . باہر . پرنٹ ایل این ( ب == ڈی ) ; سسٹم . باہر . پرنٹ ایل این ( c == ڈی ) ;

ہر متعلقہ بیان کا آؤٹ پٹ کنسول پر پرنٹ ہوتا ہے۔ ہم نے ہر بیان کے ساتھ آؤٹ پٹ کو میپ کیا ہے:

یہ سب جاوا میں string.intern() طریقہ کے بارے میں ہے۔

نتیجہ

' String.intern() جاوا میں طریقہ بیان کردہ سٹرنگ آبجیکٹ کا حوالہ واپس کرتا ہے۔ تاہم، اگر سٹرنگ آبجیکٹ سٹرنگ پول میں ایک ہی مواد/ڈیٹا کے ساتھ موجود ہے، تو یہ پچھلے سٹرنگ کا حوالہ واپس کر دے گا۔ اس پوسٹ میں جاوا میں String.intern() طریقہ کے استعمال کے مختلف معاملات بتائے گئے ہیں۔