स्ट्रिंग बफर और स्ट्रिंगबिल्डर दोनों ही परिवर्तनशील वर्ग हैं जिनका उपयोग स्ट्रिंग ऑब्जेक्ट्स पर ऑपरेशन करने के लिए किया जा सकता है जैसे कि स्ट्रिंग का उल्टा, कंटेटिंग स्ट्रिंग और आदि। हम स्ट्रिंग का एक नया ऑब्जेक्ट बनाए बिना स्ट्रिंग को संशोधित कर सकते हैं। एक स्ट्रिंग बफर थ्रेड-सुरक्षित है जबकि स्ट्रिंग बिल्डर थ्रेड-सुरक्षित नहीं है। इसलिए, यह एक स्ट्रिंग बफर से तेज है। साथ ही, एक स्ट्रिंग concat + ऑपरेटर आंतरिक रूप से StringBuffer या StringBuilder वर्ग का उपयोग करता है। नीचे अंतर हैं।
Sr. नहीं. | कुंजी | <वें शैली ="पाठ-संरेखण:केंद्र;">स्ट्रिंग बफर <वें शैली="पाठ्य-संरेखण:केंद्र;">स्ट्रिंग निर्मातावें>||
---|---|---|---|
1 | बेसिक | स्ट्रिंगबफर को जावा की प्रारंभिक रिलीज के साथ पेश किया गया था | इसे जावा 5 में पेश किया गया था |
2 | सिंक्रनाइज़्ड | यह सिंक्रनाइज़ है | यह सिंक्रनाइज़ नहीं है |
3 | प्रदर्शन | यह थ्रेड-सुरक्षित है। इसलिए, कई थ्रेड एक ही समय में एक्सेस नहीं कर सकते हैं, इसलिए, यह धीमा है। | यह थ्रेड-सुरक्षित नहीं है इसलिए स्ट्रिंग बफर से तेज़ है |
4 | म्यूटेबल | यह परिवर्तनशील है। हम ऑब्जेक्ट बनाए बिना स्ट्रिंग को संशोधित कर सकते हैं | यह परिवर्तनशील भी है |
5 | Storage | ढेर | ढेर |
स्ट्रिंगबिल्डर का उदाहरण
public class StringBuilderExample{ public static void main(String[] args){ StringBuilder builder=new StringBuilder("Hi"); builder.append("Java 8"); System.out.println("StringBuilderExample" +builder); } }
स्ट्रिंगबफर का उदाहरण
public class StringBufferExample{ public static void main(String[] args){ StringBuffer buffer=new StringBuffer("Hi"); buffer.append("Java 8"); System.out.println("StringBufferExample" +buffer); } }