Avatar ·

Java में == और === के बीच अंतर

सभी को नमस्कार! मैं Java में तुलना ऑपरेटरों को समझ नहीं पा रहा हूँ। मुझे पता है कि JavaScript में === के माध्यम से सख्त तुलना होती है, लेकिन Java में ऐसा कोई ऑपरेटर नहीं है। === लिखने पर कंपाइलर त्रुटि देता है।

मैंने स्ट्रिंग्स की तुलना के लिए == का उपयोग करने की कोशिश की, लेकिन अप्रत्याशित परिणाम मिले। उदाहरण के लिए, यह कोड:

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

== false क्यों लौटाता है, जबकि स्ट्रिंग्स समान हैं? मुझे उम्मीद थी कि == JavaScript की तरह सामग्री की तुलना करेगा। दस्तावेज़ पढ़ने पर पता चला कि Java में == ऑब्जेक्ट्स के संदर्भों (references) की तुलना करता है, न कि उनके मानों की। स्ट्रिंग्स के लिए equals() का उपयोग करना चाहिए।

लेकिन फिर सवाल है: क्या Java में JavaScript के सख्त तुलना === का कोई समकक्ष है? या केवल