स्ट्रिंगबफर और स्ट्रिंगबिल्डर के बीच अंतर

स्ट्रिंगबफर और स्ट्रिंगबिल्डर के बीच अंतर
स्ट्रिंगबफर और स्ट्रिंगबिल्डर के बीच अंतर

वीडियो: स्ट्रिंगबफर और स्ट्रिंगबिल्डर के बीच अंतर

वीडियो: स्ट्रिंगबफर और स्ट्रिंगबिल्डर के बीच अंतर
वीडियो: देसी अंडे और सफेद अंडे में क्या है अंतर।देसी और सफेद अंडे में कौन ज्यादा फायदेमंद। Expert Advice 2024, नवंबर
Anonim

स्ट्रिंगबफर बनाम स्ट्रिंगबिल्डर

जावा एक बहुत ही लोकप्रिय वस्तु उन्मुख भाषा है। जावा में, स्ट्रिंग क्लास को वर्णों के अनुक्रम को रखने के लिए प्रदान किया जाता है जिसे संशोधित नहीं किया जा सकता (एक बार प्रारंभ किया गया)। वैकल्पिक रूप से, जावा प्रोग्रामिंग भाषा वर्णों के दो प्रकार के परिवर्तनशील अनुक्रम प्रदान करती है। यही है, जब प्रोग्रामर को एक निश्चित स्ट्रिंग (आरंभीकरण के बाद) को संशोधित करने की आवश्यकता होती है, तो उन्हें स्ट्रिंग क्लास के बजाय स्ट्रिंगबफर क्लास या स्ट्रिंगबिल्डर क्लास का उपयोग करने की आवश्यकता होती है। StringBuffer को JDK 1.0 में पेश किया गया था और StringBuilder वर्ग को JDK 1.5 में पेश किया गया था, वास्तव में StringBuffer वर्ग (एकल-थ्रेड वातावरण के लिए) के प्रतिस्थापन के रूप में।

स्ट्रिंगबफर क्या है?

StringBuffer क्लास को JDK 1.0 में पेश किया गया था। StringBuffer वर्ग java.lang पैकेज से संबंधित है और जेनेरिक java.lang.object से विरासत में मिला है। प्रोग्रामर इसे और आगे नहीं बढ़ा सकते क्योंकि यह एक फाइनल क्लास है। StringBuffer वर्ग Serializable, Appendable और CharSequience इंटरफेस को लागू करता है। StringBuffer वर्ग का एक ऑब्जेक्ट वर्णों का एक क्रम रख सकता है जो परिवर्तनशील और थ्रेड-सुरक्षित है। इसका मतलब है, यह बहुत हद तक एक स्ट्रिंग ऑब्जेक्ट के समान है, लेकिन स्ट्रिंगबफ़र ऑब्जेक्ट को प्रारंभ करने के बाद किसी भी समय वर्णों के अनुक्रम (लंबाई और सामग्री) को बदला जा सकता है। हालाँकि, यह StringBuffer वर्ग द्वारा प्रदान की गई विशिष्ट विधियों का उपयोग करके किया जाना चाहिए। StringBuffer वर्ग में दो सिद्धांत संचालन हैं। वे परिशिष्ट () और सम्मिलित () विधियों द्वारा प्रदान किए जाते हैं। ये विधियां अतिभारित हैं, इसलिए वे किसी भी प्रकार के डेटा को स्वीकार करने में सक्षम हैं जैसे कि पूर्णांक और लंबा। दोनों विधियां पहले किसी भी इनपुट को एक स्ट्रिंग में बदल देती हैं, और फिर मौजूदा स्ट्रिबबफ़र ऑब्जेक्ट में संबंधित स्ट्रिंग के वर्णों को जोड़ता (जोड़ता या सम्मिलित करता है)।एपेंड () विधि परिवर्तित स्ट्रिंग को मौजूदा स्ट्रिंगबफ़र ऑब्जेक्ट के अंत में जोड़ती है, जबकि सम्मिलित () विधि निर्दिष्ट प्रविष्टि बिंदु पर इनपुट वर्णों को जोड़ देगी।

स्ट्रिंगबिल्डर क्या है?

StringBuilder वर्ग को JDK 1.5 में पेश किया गया था। स्ट्रिंगबिल्डर एपीआई स्ट्रिंगबफर एपीआई के समान ही है। वास्तव में, StringBuilder वर्ग को वास्तव में StringBuffer वर्ग (एकल-थ्रेड अनुप्रयोगों के लिए) के प्रतिस्थापन के रूप में पेश किया गया था। StringBuilder वर्ग java.lang पैकेज से संबंधित है और जेनेरिक java.lang.object से विरासत में मिला है। यह एक अंतिम वर्ग है और इसलिए प्रोग्रामर इसे बढ़ा नहीं सकते हैं। StringBuilder वर्ग Serializable, Appendable और CharSequience इंटरफेस को लागू करता है। StringBuilder वर्ग की एक वस्तु में वर्णों का एक क्रम हो सकता है जो परिवर्तनशील है लेकिन थ्रेड-सुरक्षित नहीं है। इसका मतलब है, यह बहुत हद तक एक स्ट्रिंग ऑब्जेक्ट के समान है, लेकिन स्ट्रिंग को किसी भी समय बदला जा सकता है। लेकिन StringBuilder वर्ग सिंक्रनाइज़ेशन प्रदान नहीं करता है, और इसलिए StringBuffer वर्ग का उपयोग करने की तुलना में तेज़ होने का दावा किया जाता है।StringBuilder वर्ग, StringBuffer वर्ग के समान कार्यक्षमता के साथ परिशिष्ट () और सम्मिलित () विधियाँ प्रदान करता है।

स्ट्रिंगबफर और स्ट्रिंगबिल्डर में क्या अंतर है?

यद्यपि, StringBuilder और StringBuffer कक्षाओं का उपयोग जावा में वर्णों के परिवर्तनशील अनुक्रमों के लिए किया जा सकता है, उनमें एक महत्वपूर्ण अंतर है। StringBuffer वर्ग के विपरीत, StringBuilder वर्ग थ्रेड-सुरक्षित नहीं है, और कोई सिंक्रनाइज़ेशन प्रदान नहीं करता है। इसलिए, यह अनुशंसा की जाती है कि सिंगल-थ्रेड अनुप्रयोगों में StringBuffer वर्ग के स्थान पर StringBuilder वर्ग का उपयोग किया जाना चाहिए, क्योंकि यह दावा किया जाता है कि StringBuilder वर्ग, StringBuffer वर्ग (सामान्य परिस्थितियों में) की तुलना में बहुत तेज़ होगा।

सिफारिश की: