पाठ 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,"