Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में StringBuffer और StringBuilder के बीच अंतर


StringBuffer और StringBuilder दोनों म्यूटेबल क्लास हैं जिनका उपयोग स्ट्रिंग ऑब्जेक्ट पर ऑपरेशन करने के लिए किया जा सकता है जैसे स्ट्रिंग का रिवर्स, स्ट्रिंग को जोड़ना आदि। हम स्ट्रिंग का नया ऑब्जेक्ट बनाए बिना स्ट्रिंग को मॉडिफाई कर सकते हैं। StringBuffer थ्रेड-सेफ है जबकि StringBuilder थ्रेड-सेफ नहीं है। इसलिए, यह StringBuffer से तेज है। साथ ही, स्ट्रिंग कॉनकैट + ऑपरेटर आंतरिक रूप से StringBuffer या StringBuilder क्लास का उपयोग करता है। नीचे अंतर दिए गए हैं।

क्र. सं. मुख्य बिंदु String Buffer String Builder
1 बुनियादी StringBuffer Java के प्रारंभिक रिलीज के साथ पेश किया गया था इसे Java 5 में पेश किया गया था
2 सिंक्रोनाइज़्ड यह सिंक्रोनाइज़्ड है यह सिंक्रोनाइज़्ड नहीं है
3 प्रदर्शन यह थ्रेड-सेफ है। इसलिए, मल्टीपल थ्रेड एक ही समय में एक्सेस नहीं कर सकते, इसलिए, यह धीमा है। यह थ्रेड-सेफ नहीं है इसलिए StringBuffer से तेज है
4 म्यूटेबल यह म्यूटेबल है। हम ऑब्जेक्ट बनाए बिना स्ट्रिंग को मॉडिफाई कर सकते हैं यह भी म्यूटेबल है
5 स्टोरेज Heap Heap

StringBuilder का उदाहरण

public class StringBuilderExample{ 
    public static void main(String[] args){ 
        StringBuilder builder = new StringBuilder("Hi"); 
        builder.append("Java 8"); 
        System.out.println("StringBuilderExample" + builder); 
    } 
}

StringBuffer का उदाहरण

public class StringBufferExample{ 
    public static void main(String[] args){ 
        StringBuffer buffer = new StringBuffer("Hi"); 
        buffer.append("Java 8"); 
        System.out.println("StringBufferExample" + buffer); 
    } 
}

  1. - जावा में Serialization और Externalization के बीच अंतर

    Serialization और Externalization दोनों ऑब्जेक्ट को बाइट स्ट्रीम में बदलने और बाइट स्ट्रीम को डेटाबेस या मेमोरी में स्टोर करने की प्रक्रियाएं हैं। जो क्लास java.io.Serializable इंटरफेस को इम्प्लीमेंट करती है उसे सीरियलाइज किया जा सकता है। दूसरी ओर, Externalization एप्लिकेशन में आवश्यकता के आधार पर कस

  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या