جاوا میں اسٹرنگ اور سٹرنگبفر کلاس کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 3 اپریل 2021
تازہ کاری کی تاریخ: 4 مئی 2024
Anonim
جاوا میں اسٹرنگ اور سٹرنگبفر کلاس کے مابین فرق - ٹیکنالوجی
جاوا میں اسٹرنگ اور سٹرنگبفر کلاس کے مابین فرق - ٹیکنالوجی

مواد


سٹرنگ اور سٹرنگبفر دونوں ہی کلاس ہیں جو ڈور پر چلتی ہیں۔ اسٹرنگ بوفر کلاس اسٹرنگ کلاس کا ہم کلاس ہے۔ اسٹرنگ کلاس کا مقصد مقررہ لمبائی کا ہے۔ اسٹرنگ بوفر کلاس کا مقصد قابل عمل ہے۔ اسٹرنگ اور سٹرنگ بوفر کے مابین بنیادی فرق یہ ہے کہ "اسٹرنگ" کلاس کا مقصد ہے ناقابل تغیر. کلاس "اسٹرنگ بفر" کا مقصد بدلنے والا.

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کی بنیادسٹرنگسٹرنگبفر
بنیادیاسٹرنگ آبجیکٹ کی لمبائی طے شدہ ہے۔اسٹرنگ بفر کی لمبائی میں اضافہ کیا جاسکتا ہے۔
ترمیمسٹرنگ آبجیکٹ ناقابل تلافی ہے۔سٹرنگبفر آبجیکٹ متغیر ہے۔
کارکردگییہ کنکریٹ کے دوران سست ہے۔یہ کنکریٹ کے دوران تیز ہے۔
یاداشتزیادہ میموری استعمال ہوتا ہے۔میموری کم استعمال ہوتا ہے۔
ذخیرہسٹرنگ مستقل تالاب۔ہیپ میموری


سٹرنگ کی تعریف

"اسٹرنگ" جاوا میں ایک کلاس ہے۔ کلاس سٹرنگ کا مقصد مقررہ لمبائی کا ہوتا ہے ، اور یاد رکھنے کے لئے سب سے اہم ، اسٹرنگ کلاس کا مقصد "ناقابل تغیر" ہے۔ ایک بار جب آپ سٹرنگ آبجیکٹ کو شروع کردیں گے ، تو آپ اس چیز کو دوبارہ تبدیل نہیں کرسکتے ہیں۔ کلاس اسٹرنگ کا مقصد سٹرنگ مستقل پول میں محفوظ ہوتا ہے۔

ہمیں پہلے یہ سمجھنے دو ، جب بھی آپ کوئی تار تیار کرتے ہیں۔ آپ ٹائپ سٹرنگ کا کوئی مقصد بناتے ہیں۔ سٹرنگ مستحکم بھی سٹرنگ آبجیکٹ ہیں۔

System.out.ln ("ہیلو یہ ٹیکپکس حل ہے")؛

مذکورہ بالا بیان میں ، "ہیلو یہ ٹیکپکس حل ہے" کا سٹرنگ ایک سٹرنگ مستقل ہے۔

آئیے اب ہم مثال کی مدد سے سٹرنگ آبجیکٹ کی تغیر کو سمجھتے ہیں۔

سٹرنگ str = نیا اسٹرنگ ("Teckpix")؛ str.concat ("حل")؛ system.out.ln (str)؛ // آؤٹ پٹ ٹیکپکس

مذکورہ کوڈ میں ، میں نے دو تاروں "ٹیکپکس" اور "حل" کو متفق کرنے کی کوشش کی۔ جیسا کہ ہم جانتے ہیں جب بھی کوئی تار تیار ہوتا ہے اس کا مطلب ہے کہ اسٹرنگ ٹائپ کا مقصد پیدا ہوتا ہے۔ لہذا ، تار "Teckpix" ایک اعتراض پیدا کرتا ہے ، جس کا حوالہ اسٹرنگ آبجیکٹ "str" ​​کو تفویض کیا جاتا ہے۔ اس کے بعد ، میں نے کلاس کے اسٹرنگ کے "کونکاتٹ ()" کے طریقہ کار کا استعمال کرتے ہوئے "Teckpix" کے ساتھ ایک اور تار "حل" تیار کرنے کی کوشش کی۔


چونکہ اسٹرنگ اشیاء ناقابل تغیر پذیر ہیں ، لہذا "Teckpix" کے تار میں کوئی ترمیم نہیں کی جاتی ہے اور نئی سٹرنگ "سلوشن" سٹرنگ مستقل تالاب میں ایک اور شے تیار کرتی ہے۔ لیکن ، آبجیکٹ "حل" کا حوالہ کسی بھی شے کے ذریعہ نہیں پکڑا جاتا ہے لہذا آبجیکٹ حل کا حوالہ کھو جاتا ہے حالانکہ یہ سٹرنگ مستقل تالاب میں موجود ہے۔ چونکہ آبجیکٹ ٹیکپکس میں کوئی ترمیم نہیں کی گئی ہے ، جب میں نے اس اعتراض کو جس سے پہلے میں ٹیکپکس کا حوالہ تفویض کیا تھا تو ، صرف "تاریکپکس" کی تار لگے گی۔

اسٹرنگ بوفر کی تعریف

کلاس "اسٹرنگ بفر" کلاس "سٹرنگ" کی ہم کلاس ہے۔ کلاس اسٹرنگ بوفر ڈوروں کو زیادہ فعالیت فراہم کرتا ہے۔ اسٹرنگ بوفر کلاس کا مقصد متغیر ہے جو اس کی شے کو تبدیل کیا جاسکتا ہے۔ اسٹرنگ بوفر آبجیکٹ کی لمبائی قابل عمل ہے۔ آپ سٹرنگ بفر آبجیکٹ کو تفویض کردہ اس کے آخر میں یا اس کے آخر میں سٹرنگ لٹریل کے وسط میں حرف یا سبسٹرنگ داخل کرسکتے ہیں۔ جب کوئی خاص طوالت کی درخواست نہ کی جاتی ہو تو اسٹرنگ بوفر 16 اضافی حروف کے لئے جگہ مختص کرتا ہے۔

آئیے ایک مثال کی مدد سے اسٹرنگ بوفر آبجیکٹ کی تغیرات کو سمجھیں:

سٹرنگبفر ایس بی = نیا اسٹرنگ بفر ("ٹیکپکس")؛ Sb.append ("حل")؛ system.out.ln (Sb)؛ // آؤٹ پٹ ٹیکپکس حل

جیسا کہ ہم جانتے ہیں کہ اسٹرنگ بوفر آبجیکٹ تبدیل شدہ ہے۔ طریقہ ضمیمہ () اسٹرنگ بوفر آبجیکٹ Sb میں ترمیم کرتا ہے جس میں ابتدائی طور پر ، "Teckpix" آبجیکٹ کا حوالہ پہلے تفویض کیا جاتا ہے۔ طریقہ ضمیمہ () ضمیمہ میں نئے اسٹرنگ کا لفظی "سلوشن" شامل کرتا ہے ، جس میں تار کے لفظی "ٹیکپکس" کے آخر میں شامل ہوتے ہیں۔ اب جب میں Sb کو اعتراض کرتا ہوں تو اس میں ترمیم شدہ اسٹرنگ آبجیکٹ "Teckpix Solutions" ہوجائے گا۔

  1. اسٹرنگ آبجیکٹ کی لمبائی طے شدہ ہے لیکن ضرورت پڑنے پر سٹرنگ بوفر کی کسی چیز کی لمبائی میں اضافہ کیا جاسکتا ہے۔
  2. اسٹرنگ آبجیکٹ غیر منقول ہے یعنی اسے دوبارہ اسائنز نہیں کیا جاسکتا جب کہ ، سٹرنگ بوفر کا مقصد متغیر ہے۔
  3. کارکردگی میں سٹرنگ آبجیکٹ سست ہے جبکہ ، اسٹرنگ بوفر آبجیکٹ تیز ہے۔
  4. اسٹرنگ آبجیکٹ زیادہ میموری استعمال کرتا ہے جبکہ ، اسٹرنگ بوفر اشیاء کم میموری استعمال کرتے ہیں۔
  5. سٹرنگ آبجیکٹس مستقل تالاب میں محفوظ ہوتی ہیں جبکہ ، اسٹرنگ بوفر آبجیکٹ ہیپ میموری پر محفوظ ہوتی ہیں۔

نتیجہ:

کلاس اسٹرنگ کے مقابلے میں سٹرنگبفر آبجیکٹ ڈور کو زیادہ فعالیت فراہم کرتی ہیں۔ لہذا ، کلاس اسٹرنگ کی بجائے اسٹرنگ بوفر کے ساتھ کام کرنا افضل ہے۔