पाठ 6 / 38

स्ट्रिंग

देखें Java स्ट्रिंग अपरिवर्तनीय क्यों हैं, तुलना == के बजाय equals() से क्यों, और StringBuilder लूप में O(n²) जोड़ने से कैसे बचाता है।

स्ट्रिंग अपरिवर्तनीय हैं

String को "बदलने" वाला हर मेथड नया ऑब्जेक्ट लौटाता है; मूल अछूता रहता है। लूप में यह महँगा है।

equals() से तुलना

== एक ही ऑब्जेक्ट की जाँच करता है। सामग्री की तुलना के लिए .equals() उपयोग करें।

String a = "hi";
String b = new String("hi");
System.out.println(a == b);        // false
System.out.println(a.equals(b));   // true

लूप के लिए StringBuilder

लूप में + से जोड़ना O(n²) है। StringBuilder उपयोग करें और अंत में एक बार toString()

StringBuilder sb = new StringBuilder();
for (int i = 0; i < 5; i++) sb.append(i).append(',');
String csv = sb.toString();   // "0,1,2,3,4,"