Java में StringBuilder और StringBuffer में क्या अंतर है?
सभी को नमस्ते! मैं Java सीख रहा हूँ और लॉग प्रोसेस करने के लिए एक छोटा सर्वर मॉड्यूल लिख रहा हूँ। मुझे कई टुकड़ों से स्ट्रिंग्स जोड़नी हैं, और मुझे पता है कि लूप में "+" के माध्यम से concatenation खराब है, क्योंकि इससे बहुत सारे अनावश्यक String ऑब्जेक्ट बनते हैं।
मैंने StringBuffer का उपयोग शुरू किया, लेकिन मेरे टीम लीड ने कहा कि StringBuilder पर स्विच करना बेहतर है। मुझे पूरी तरह से समझ नहीं आया क्यों। इंटरनेट पर लिखा है कि दोनों क्लास एक ही काम करते हैं: नए ऑब्जेक्ट बनाए बिना स्ट्रिंग को बदलने की अनुमति देते हैं। फिर दो क्लास क्यों हैं? और किसे चुनना चाहिए?
यहाँ मेरे कोड का उदाहरण है:
```java
public class LogBuilder {
public static void main(String[] args) {
StringBuffer log = new StringBuffer();
for (int i = 0; i < 1000; i++) {
log.append("इवेंट #").append(i).append(": ");
log.append("प्रोसेसिंग पूर्ण\n");
}
System.out.println(log.toString());
}
}
```
अगर मैं बस StringBuffer को StringBuilder से बदल दूं, तो कोड काम करता रहेगा। क्या इसका मतलब है कि