Java में enum की तुलना: == या equals() का उपयोग करें?
सभी को नमस्ते! मैंने हाल ही में Java सीखना शुरू किया है और enum के संबंध में एक प्रश्न आया है। जब मैं enum प्रकार के दो वेरिएबल्स की तुलना करता हूँ, तो मैं देखता हूँ कि मैं == ऑपरेटर और equals() मेथड दोनों का उपयोग कर सकता हूँ। दोनों विकल्प मेरे कोड में काम करते हैं, लेकिन मुझे समझ नहीं आता कि कौन सा सही है और क्यों।
यहाँ एक उदाहरण कोड है जो मुझे भ्रमित करता है:
```java
public enum Color {
RED, GREEN, BLUE
}
public class Main {
public static void main(String[] args) {
Color c1 = Color.RED;
Color c2 = Color.RED;
Color c3 = Color.GREEN;
// == के माध्यम से तुलना
System.out.println(c1 == c2); // true
System.out.println(c1 == c3); // false
// equals() के माध्यम से तुलना
System.out.println(c1.equals(c2)); // true
System.out.println(c1.equals(c3)); // false
}
}
```
दोनों तरीके समान परिणाम देते हैं। लेकिन मैंने सुना है कि objects के लिए आमतौर पर equals() का उपयोग करना चाहिए, और == references की तुलना करता है। हालांकि enum ऐसा व्यवहार करता है...