স্ট্রিংবফার এবং স্ট্রিংব্লিদারের মধ্যে পার্থক্য

Anonim

জাভাতে, স্ট্রিং ক্লাসকে অক্ষরের ক্রম ধরে রাখা হয় যাতে পরিবর্তন করা যায় না (একবার প্রারম্ভিক)। বিকল্পভাবে, জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজ অক্ষরের দুই ধরনের অকথ্য ক্রম প্রদান করে। যে, যখন প্রোগ্রামারদের একটি নির্দিষ্ট স্ট্রিং (আরম্ভের পরে) সংশোধন করার প্রয়োজন হয়, তখন তারা স্ট্রিংব্লার ক্লাস বা স্ট্রিংব্ল্লারের ক্লাস ব্যবহার করতে হবে, স্ট্রিং ক্লাস পরিবর্তে। স্ট্রিংবফারটি JDK 1. 0 এ প্রবর্তিত হয়েছিল এবং স্ট্রিংব্ল্লারার ক্লাসটি JDK 1. 1 এর মধ্যে চালু করা হয়েছিল, প্রকৃতপক্ষে স্ট্রিংবফার বর্গ (একক-থ্রেড পরিবেশের জন্য) এর পরিবর্তে।

স্ট্রিংবফার কি?

স্ট্রিংবফার ক্লাসটি JDK 1 তে চালু করা হয়েছিল। 0. স্ট্রিংবফার বর্গ জাভা লাং প্যাকেজ এবং জেনেরিক জাভা থেকে উত্তরাধিকারসূত্রে পাওয়া যায়। ল্যাঙ। অবজেক্ট। এটি একটি চূড়ান্ত ক্লাস হয় প্রোগ্রামাররা আরও প্রসারিত করতে পারবেন না। স্ট্রিংবফার ক্লাস কার্যকর করে ক্রমিক, অ্যাডেন্ডেবেল এবং চারসিজেন ইন্টারফেস। ক্লাসের একটি বস্তুর StringBuffer অক্ষরগুলির ক্রম ধরে রাখতে পারে যা পরিবর্তনযোগ্য এবং থ্রেড-নিরাপদ। এর অর্থ, এটি একটি স্ট্রিং অবজেক্টের মতই অনেক কিছু, কিন্তু স্ট্রিংবফার বস্তুটি আরম্ভ করার পরে অক্ষরের ক্রম (দৈর্ঘ্য এবং সামগ্রী) যে কোনও সময়ে পরিবর্তন করা যেতে পারে। তবে স্ট্রিংবফার ক্লাস দ্বারা প্রদত্ত নির্দিষ্ট পদ্ধতি ব্যবহার করে এটি করা উচিত। স্ট্রিংবফার ক্লাসে দুটি নীতির কাজ রয়েছে। তারা অ্যাডেন্ড () এবং সন্নিবেশ () পদ্ধতি দ্বারা প্রদান করা হয়। এই পদ্ধতি ওভারলোড করা হয়, তাই তারা কোনও ধরনের তথ্য যেমন পূর্ণসংখ্যা এবং দীর্ঘ হিসাবে গ্রহণ করতে সক্ষম। উভয় পদ্ধতি প্রথমত একটি স্ট্রিং কোন ইনপুট রূপান্তরিত, এবং তারপর যোগ (appends বা ঢালাই) বিদ্যমান Stribbuffer বস্তুর সংশ্লিষ্ট স্ট্রিং এর অক্ষর যোগ। Append () পদ্ধতি বিদ্যমান স্ট্রিংবফার অবজেক্টের শেষে রূপান্তরিত স্ট্রিং যোগ করে, যখন সন্নিবেশ () পদ্ধতি নির্দিষ্ট সন্নিবেশ বিন্দুতে ইনপুট অক্ষর যোগ করবে।

--২ ->

স্ট্রিংবাইলার কি?

স্ট্রিংব্লিডার ক্লাসটি জেডিকে 1 তে চালু করা হয়েছিল। স্ট্রিংব্লিদার APIটি স্ট্রিংবফার এপিআইয়ের মত খুব বেশি। প্রকৃতপক্ষে, StringBuilder বর্গ প্রকৃতপক্ষে স্ট্রিংবফার বর্গ (একক-থ্রেড অ্যাপ্লিকেশনের জন্য) জন্য প্রতিস্থাপন হিসাবে উপস্থাপিত হয়েছিল। StringBuilder বর্গ জাভা এর। লাং প্যাকেজ এবং জেনেরিক জাভা থেকে উত্তরাধিকারসূত্রে পাওয়া যায়। ল্যাঙ। অবজেক্ট। এটি একটি চূড়ান্ত ক্লাস এবং তাই প্রোগ্রামাররা তা প্রসারিত করতে পারে না। StringBuilder শ্রেণীর প্রয়োগ ক্রমবর্ধমান, পরিপূরক এবং Charsequience ইন্টারফেস। বর্গ StringBuilder একটি বস্তুর অলঙ্ঘনীয় অক্ষর একটি ক্রম ধরে রাখতে পারে কিন্তু থ্রেড-নিরাপদ না। এর অর্থ, এটি একটি স্ট্রিং অবজেক্টের অনুরূপ, কিন্তু স্ট্রিংটি যে কোনো সময় পরিবর্তন করা যায়।কিন্তু StringBuilder বর্গ সিঙ্ক্রোনাইজেশন প্রদান করে না, এবং তাই স্ট্রিংবফার ক্লাস ব্যবহার করার চেয়ে দ্রুত দাবি করা হয়। StringBuilder শ্রেণীর অ্যাডেন্ড () এবং সন্নিবেশ করান () স্ট্রিংবফার বর্গের মতো একই রকম কার্যকারিতার সাথে।

স্ট্রিংবফার এবং স্ট্রিংব্ল্লারের মধ্যে পার্থক্য কি?

যদিও, স্ট্রিংব্লিলার এবং স্ট্রিংবফার ক্লাসগুলি জাভাতে অক্ষরের পার্থক্য সিকোয়েন্সের জন্য ব্যবহার করা যেতে পারে, তবে তাদের একটি প্রধান পার্থক্য রয়েছে। স্ট্রিংবফার ক্লাস থেকে ভিন্ন, স্ট্রিংব্ল্লারার ক্লাস থ্রেড-নিরাপদ নয়, এবং কোনও সিঙ্ক্রোনাইজেশন প্রদান করে না। অতএব, এটি সুপারিশ করা হয় যে StringBuilder বর্গটি স্ট্রিংবফার শ্রেণীর জায়গায় একক-থ্রেড অ্যাপ্লিকেশনে ব্যবহার করা উচিত, কারণ এটি দাবি করা হয় যে StringBuilder ক্লাসটি স্ট্রিংবফার বর্গ (স্বাভাবিক পরিস্থিতিতে) থেকে অনেক দ্রুত হবে।