Java में स्ट्रिंग से enum मान कैसे प्राप्त करें
सभी को नमस्कार! मैं Java में नया हूँ और एनुम (enum) के साथ काम करते समय एक समस्या का सामना कर रहा हूँ। मेरे पास ऑर्डर स्थितियों के लिए यह enum है:
```java
public enum OrderStatus {
NEW,
PROCESSING,
SHIPPED,
DELIVERED,
CANCELLED
}
```
मैं डेटाबेस से एक स्ट्रिंग प्राप्त करता हूँ, उदाहरण के लिए "PROCESSING", और मुझे इसे वापस enum मान `OrderStatus.PROCESSING` में बदलना है। मैंने सरल टाइप कास्टिंग का उपयोग करने की कोशिश की, लेकिन यह काम नहीं करता:
```java
String statusStr = "PROCESSING";
OrderStatus status = (OrderStatus) statusStr; // कंपाइलेशन एरर
```
मैंने `valueOf()` का उपयोग करने की भी कोशिश की, लेकिन जब स्ट्रिंग किसी enum मान से मेल नहीं खाती, तो `IllegalArgumentException` अपवाद फेंका जाता है। उदाहरण के लिए, यदि उपयोगकर्ता ने "processing" (छोटे अक्षरों में) दर्ज किया या टाइपिंग गलती की, तो प्रोग्राम क्रैश हो जाता है।
कृपया बताएं कि स्ट्रिंग को enum में सही और सुरक्षित रूप से कैसे बदलें? क्या अक्षरों के केस को संभालने की आवश्यकता है? और यदि स्ट्रिंग बिल्कुल मेल नहीं खाती तो क्या करें?