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