Avatar ·

== और equals() में क्या अंतर है Java में?

नमस्ते साथियों! मैंने अभी Java सीखना शुरू किया है और स्ट्रिंग्स की तुलना करते समय एक अजीब स्थिति का सामना किया। एक सरल कोड लिखा:\n\n```java\nString a = "Привет";\nString b = "Привет";\nString c = new String("Привет");\n\nSystem.out.println(a == b); // true\nSystem.out.println(a == c); // false\nSystem.out.println(a.equals(c)); // true\n```\n\nक्यों `a == b` `true` लौटाता है, लेकिन `a == c` `false` लौटाता है? और `equals()` का यहाँ क्या काम है? मैंने सोचा था कि दोनों ऑपरेटर वैल्यू की तुलना करते हैं। क्या पकड़ है? कृपया एक नौसिखिए को समझाएं कि `==` कब और `equals()` कब उपयोग करें। विशेष रूप से यह स्ट्रिंग्स और अन्य ऑब्जेक्ट्स के साथ कैसे काम करता है, इसमें दिलचस्पी है।\n\n<<>>\n

मुख्य अंतर: रेफरेंस तुलना बनाम कंटेंट तुलना

\n\n

== और equals() के बीच मुख्य अंतर यह है कि == ऑब्जेक्ट रेफरेंस की तुलना करता है, जबकि equals() ऑब्जेक्ट कंटेंट की तुलना करता है।