ما هو String.intern () في جافا؟

Ma Hw String Intern Fy Jafa



في جافا ، ' المتدرب() 'يتم استخدام طريقة' للتأكد من أنه إذا كانت كمية كبيرة من السلسلة تخزن البيانات ، فإن السلاسل التي تحتوي على نفس العنصر تشترك في نفس الذاكرة. هذه الطريقة مفيدة جدًا لتقليل مساحة الذاكرة للبرنامج. على سبيل المثال ، إذا كانت لديك قائمة ضخمة بأسماء الموظفين حيث يكون الاسم ' جاك 'يظهر عشر مرات. ال ' المتدرب() 'ستضمن أن' جاك تحتل مساحة واحدة فقط في الذاكرة.

سيناقش هذا المنشور استخدام طريقة String.intern () في Java.







ما هو String.intern () في جافا؟

ال ' المتدرب() ”في Java لإرجاع المرجع إلى كائن السلسلة المحدد. ومع ذلك ، إذا كان كائن السلسلة موجودًا بنفس المحتوى / البيانات في مجموعة السلاسل ، فسيعيد مرجع السلسلة السابق. علاوة على ذلك ، إذا لم تكن السلسلة موجودة في مجموعة السلاسل ، فستضيف السلسلة الجديدة ومرجعها إلى تجمع السلاسل.



بناء الجملة

لاستخدام الطريقة المذكورة ، ما عليك سوى اتباع الصيغة الواردة أدناه:



خيط . المتدرب ( )

في هذا المثال ، سنناقش سبب الحاجة إلى استخدام ' المتدرب() 'في Java عندما يتم إنشاء السلسلة في كومة باستخدام' خيط() ' البناء. أولاً ، يتم إنشاء كائن سلسلة باستخدام ' خيط() ' البناء. بعد ذلك ، يتم تمرير بيانات السلسلة كمعامل لهذا الكائن وتخزينها في متغير:





خيط أ = جديد خيط ( 'مرحبًا بك في Linuxhint.' ) ؛

يتم إنشاء كائن سلسلة آخر باتباع نفس الإجراء:

خيط ب = جديد خيط ( 'مرحبًا بك في Linuxhint' ) ؛

استدعاء ' طريقة println () 'وضبط' a = b 'كحجة لهذه الطريقة. سيعيد النتيجة على أنها خطأ لأن كل سلسلة لها مساحة خاصة بها في الذاكرة:



نظام . خارج . println ( أ == ب ) ؛

يمكن ملاحظة أن ناتج المثال المذكور أعلاه يعطي خطأ:

مثال 1: أسلوب String.intern () لفحص كائنات السلسلة

في هذا المثال ، يتم إنشاء كائني سلسلة باستخدام ' خيط() 'المُنشئ وسلسلة يتم تمريرها إلى المُنشئ كوسيطة. بعد ذلك ، يمكنك استدعاء ' المتدرب() 'لكل سلسلة وتخزين السلسلة الأولى في المتغير' أ 'والثاني في' ب '. تحقق من الحالة ' أ = ب 'واستخدم' println () لعرض النتيجة:

خيط أ = جديد خيط ( 'مرحبًا بك في Linuxhint' ) . المتدرب ( ) ؛
خيط ب = جديد خيط ( 'مرحبًا بك في Linuxhint' ) . المتدرب ( ) ؛
نظام . خارج . println ( أ == ب ) ؛

ونتيجة لذلك ، فإنه يقوم بإرجاع ' حقيقي 'لأن' المتدرب() 'يضمن أن كل سلسلة تشغل مساحة في نفس الذاكرة لتخزين بيانات السلسلة:

مثال 2: String.intern () طريقة لفحص كائن String و String

في هذا المثال المذكور ، يتم إنشاء سلاسل متنوعة وتخزينها في متغيرات مختلفة. لهذا الغرض ، أولاً ، يتم تهيئة المتغير بقيمة سلسلة ' لينكس ':

خيط أ = 'Linux' ؛

استخدم ' المتدرب() 'عن طريق الوصول إلى السلسلة' أ 'وتخزينه في المتغير' ب ':

خيط ب = أ. المتدرب ( ) ؛

يتم إنشاء كائن من نوع سلسلة جديدة بمساعدة ' خيط() 'المُنشئ ويمرر' لينكس 'كمعامل لهذا المُنشئ. ثم قم بتخزينه في المتغير ' ج ':

خيط ج = جديد خيط ( 'Linux' ) ؛

استدعاء ' المتدرب() 'عن طريق الوصول إلى المتغير' ج 'وتخزين النتيجة في' د ':

خيط د = ج. المتدرب ( ) ؛

الآن ، قارن هذه السلاسل التي تم إنشاؤها مع بعضها البعض. لهذا الغرض ، استدعاء ' println () 'وتمرير المعلمة وفقًا لمقتطف الشفرة أدناه:

نظام . خارج . println ( أ == ب ) ؛
نظام . خارج . println ( أ == ج ) ؛
نظام . خارج . println ( أ == د ) ؛
نظام . خارج . println ( ب == ج ) ؛
نظام . خارج . println ( ب == د ) ؛ نظام . خارج . println ( ج == د ) ؛

تتم طباعة إخراج كل عبارة مقابلة على وحدة التحكم. لقد قمنا بتعيين الإخراج مع كل عبارة:

هذا كل شيء عن طريقة string.intern () في جافا.

خاتمة

ال ' String.intern () 'في Java يعيد المرجع إلى كائن السلسلة المحدد. ومع ذلك ، إذا كان كائن السلسلة موجودًا بنفس المحتوى / البيانات في مجموعة السلاسل ، فسيعيد مرجع السلسلة السابق. ذكر هذا المنشور حالات استخدام مختلفة لطريقة String.intern () في Java.