StringBuffer اور StringBuilder کے درمیان فرق

Anonim

سٹرنگبفرر بمقابلہ سٹرنگ بلڈر

جاوا ایک بہت ہی مشہور آبادی پر مبنی زبان ہے. جاوا میں، سٹرنگ کلاس کو حروف کے سلسلے کو منعقد کرنے کے لئے فراہم کی جاتی ہے جو نظر ثانی نہیں کی جاسکتی ہے (ایک بار ابتداء میں). متبادل طور پر، جاوا پروگرامنگ کی زبان حروف کے دو قسم کے متغیر انداز فراہم کرتا ہے. یہ ہے، جب پروگرامرز کو ایک مخصوص سٹرنگ (شروعاتی کے بعد) میں ترمیم کرنے کی ضرورت ہے تو، وہ سٹرنگ کلاس کے بجائے سٹرنگ بفر کلاس یا StringBuilder کلاس استعمال کرنے کی ضرورت ہے. StringBuffer JDK میں متعارف کرایا گیا تھا 1. 0 اور StringBuilder کلاس JDK میں متعارف کرایا گیا تھا 1. 5، اصل میں StringBuffer کلاس کے لئے متبادل (واحد موضوع کے ماحول کے لئے) کے طور پر.

StringBuffer کیا ہے؟

StringBuffer کلاس JDK میں متعارف کرایا گیا تھا 1. 0. StringBuffer کلاس جاوا سے تعلق رکھتا ہے. لانگ پیکیج اور عام جاوا سے وراثت ہے. lang. اعتراض. یہ ایک حتمی طبقہ ہے کیونکہ پروگرامرز اسے مزید نہیں بڑھا سکتے ہیں. سٹرنگ بفر کلاس سیریلیزبل، قابل اطلاق اور چارسیجن انٹرفیس کو لاگو کرتی ہے. کلاس StringBuffer کی ایک شناخت حروف کے ایک ترتیب کو پکڑ سکتا ہے جو متغیر اور دھاگے محفوظ ہے. اس کا مطلب یہ ہے کہ یہ بہت سٹرنگ اعتراض کی طرح ہے، لیکن سٹرنگ بفر اعتراض کو شروع کرنے کے بعد کسی بھی وقت حروف (لمبائی اور مواد) کی ترتیب تبدیل کردی جا سکتی ہے. تاہم، اسٹرنگفر کلاس کے ذریعہ فراہم کردہ مخصوص طریقوں کا استعمال کرنا چاہئے. StringBuffer کلاس میں دو اصول عملی ہیں. انہیں جمع کر کے () اور (طریقوں) داخل کر کے فراہم کیے جاتے ہیں. ان طریقوں کو زیادہ سے زیادہ لوڈ کیا جاتا ہے، لہذا وہ کسی بھی قسم کے ڈیٹا جیسے عدد اور طویل عرصے سے قبول کرسکتے ہیں. دونوں طریقوں کو سب سے پہلے ایک تار میں کسی بھی ان پٹ کو تبدیل، اور پھر متعلقہ Stribbuffer اعتراض میں متعلقہ تار کے حروف (ضمنی یا داخل) شامل کرتا ہے. ضمنی () کا طریقہ تبدیل کردہ تار موجودہ موجودہ StuffBuffer آبجیکٹ کے اختتام تک ہے، جبکہ () طریقہ داخل ان پٹ حروف کو مخصوص اندراج پوائنٹ میں شامل کرے گا.

سٹرنگ بلڈر کیا ہے؟

StringBuilder کی کلاس JDK میں متعارف کرایا گیا تھا 1. 5. سٹرنگ بلڈر API اسکرین بفر API کے ساتھ بہت زیادہ ہے. دراصل، StringBuilder کلاس اصل میں StringBuffer کلاس (سنگل دھاگے کے ایپلی کیشنز کے لئے) کے متبادل کے طور پر متعارف کرایا گیا تھا. سٹرنگ بلڈر کلاس جاوا سے تعلق رکھتا ہے. لانگ پیکیج اور عام جاوا سے وراثت ہے. lang. اعتراض. یہ ایک حتمی طبقہ ہے اور اس طرح پروگرامر اس کو توسیع نہیں کرسکتا. سٹرنگ بلڈر کلاس سیریلیزبل، قابل اطلاق اور چارسیجن انٹرفیس کا استعمال کرتا ہے. کلاس StringBuilder کی ایک چیز یہ ہے کہ متغیر ہونے والے حروف کے سلسلے کو روک سکتے ہیں لیکن موضوع محفوظ نہیں ہیں. اس کا مطلب ہے، یہ ایک سٹرنگ اعتراض کے ساتھ بہت زیادہ ہے، لیکن تار کسی بھی وقت تبدیل کیا جا سکتا ہے.لیکن StringBuilder کلاس ہم آہنگی فراہم نہیں کرتا، اور اس وجہ سے سٹرنگ بروفر کلاس استعمال کرنے کے مقابلے میں تیزی سے دعوی کیا جاتا ہے. سٹرنگ بلڈر کلاس سٹرنگبفر کلاس میں بالکل اسی طرح کے فعالیت کے ساتھ ضم اور () شامل کریں.

StringBuffer اور StringBuilder کے درمیان کیا فرق ہے؟

اگرچہ، جاوا میں حروف کے متغیر انداز کے لئے سٹرنگ بلڈر اور سٹرنگبفر کلاس استعمال کیا جا سکتا ہے، ان میں ایک اہم فرق ہے. StringBuffer کلاس کے برعکس، StringBuilder کلاس تھریڈ محفوظ نہیں ہے، اور کوئی مطابقت پذیری نہیں فراہم کرتا ہے. لہذا، یہ سفارش کی جاتی ہے کہ سٹرنگ بلڈر کلاس کو سٹرنگ بفر کلاس کی واحد واحد دھاگے کی ایپلی کیشنز میں استعمال کیا جاسکتا ہے، کیونکہ اس کا دعوی کیا جاتا ہے کہ سٹرنگبڈرر کلاس سٹرنگبفر کلاس (عام حالات کے تحت) زیادہ تیز ہو جائے گا.