Avatar ·

StringBuilder बनाम StringBuffer: अंतर क्या है और Java में क्या उपयोग करना बेहतर है?

सभी को नमस्ते! मैंने Java सीखना शुरू किया है और अक्सर ऐसी स्थितियों का सामना करता हूँ जहाँ मुझे कई स्ट्रिंग्स को जोड़ना होता है, खासकर loops में। पहले मैं `+` के माध्यम से सामान्य concatenation का उपयोग करता था, लेकिन मैंने पढ़ा कि यह अक्षम है, और `StringBuilder` या `StringBuffer` का उपयोग करना बेहतर है। हालाँकि, मैं भ्रमित हूँ: उनके बीच क्या अंतर है? दोनों एक ही काम करते प्रतीत होते हैं — बिना अनावश्यक objects बनाए स्ट्रिंग बनाने की अनुमति देते हैं। मैंने एक छोटा उदाहरण लिखा, लेकिन समझ नहीं पा रहा कि कौन सा चुनूँ: ```java public class Test { public static void main(String[] args) { // विकल्प 1 StringBuilder sb = new StringBuilder(); for (int i = 0; i < 1000; i++) { sb.append("संख्या ").append(i).append(", "); } String result1 = sb.toString(); // विकल्प 2 StringBuffer sbf = new StringBuffer(); for (int i = 0; i < 1000; i++) { sbf.append("संख्या ").append(i).append(", "); } String result2 = sbf.toString(); } } ```