java - Does the StringBuffer equals method compare content? -


संभव डुप्लिकेट:

  स्ट्रिंगबफ़र s1 = नया स्ट्रिंगबफर ("टेस्ट"); स्ट्रिंगबफ़र s2 = नया स्ट्रिंगबफर ("टेस्ट"); यदि (s1.equals (s2)) {System.out.println ("True"); } Else {System.out.println ("गलत"); }  

क्यों वह कोड "गलत" प्रिंट करता है?

विधि को ओवरराइड नहीं करता है, इसलिए यह स्ट्रिंग तुलना नहीं कर रहा है इसके बजाय यह प्रत्यक्ष वस्तु की तुलना कर रहा है। आपकी सशर्त भी हो सकती है यदि (एस 1 == एस 2)। यदि आप स्ट्रिंग्स की तुलना करना चाहते हैं तो आपको पहले बफ़र्स को स्ट्रिंग में बदलने की आवश्यकता होगी।

देखें

संपादित करें: मैं मान रहा हूं कि हम एक जावा दुनिया में हैं। <पी> पीएस यदि आप एक एकल-थ्रेडेड वातावरण में हैं, या आपके बफ़र्स एक धागे के लिए पृथक हैं, तो आप वास्तव में किसी के बजाय एक का उपयोग करना चाहिए।


Comments

Popular posts from this blog

.net - C# List<T>.Find(x=>x.Rectangle.Contains(Point)) FAIL -

iphone - Smoothing a rounded stroke in Core Graphics -

c++ - QtQuick: QQmlApplicationEngine failed to load component qrc:/main.qml:23 Invalid attached object assignment -