Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

क्या हम जावा में किसी मेथड के अंदर enum परिभाषित कर सकते हैं?


जावा में एन्यूमरेशन नामित कॉन्स्टेंट्स के एक समूह को दर्शाता है, आप निम्नलिखित सिंटैक्स का उपयोग करके एन्यूमरेशन बना सकते हैं -

enum Days {    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }

हम एक क्लास के अंदर एन्यूमरेशन परिभाषित कर सकते हैं। लेकिन, हम किसी मेथड के अंदर enum परिभाषित नहीं कर सकते। यदि आप ऐसा करने का प्रयास करते हैं तो यह एक कंपाइल टाइम एरर उत्पन्न करता है जिसमें कहा जाता है "enum types must not be local"।

उदाहरण

public class EnumExample{    public void sample() {       enum Vehicles {          Activa125, Activa5G, Access125, Vespa, TVSJupiter;       }    } }

एरर

EnumExample.java:3: error: enum types must not be local       enum Vehicles {       ^ 1 error

मेथड के अंदर enum कॉन्स्टेंट्स का उपयोग करने के लिए आवश्यक enum को क्लास के अंदर घोषित करें और values(). का उपयोग करके इसके कॉन्स्टेंट्स को मेथड के अंदर उपयोग करें।

उदाहरण

public class EnumerationExample {    enum Enum {       Mango, Banana, Orange, Grapes, Thursday, Apple    }    public void testMethod(){       Enum constants[] = Enum.values();       System.out.println("Value of constants: ");         for(Enum d: constants) {          System.out.println(d);       }    }    public static void main(String args[]) {       EnumerationExample obj = new EnumerationExample();       obj.testMethod();          } }

आउटपुट

Value of constants: Mango Banana Orange Grapes Thursday Apple

  1. क्या Java में Enum किसी क्लास को एक्सटेंड कर सकता है? क्या Java में Enum किसी क्लास को एक्सटेंड कर सकता है?

    नहीं, Java में सभी एनम अंतर्निहित रूप से java.lang.Enum को एक्सटेंड करते हैं। चूंकि Java बहु-विरासत का समर्थन नहीं करता, एनम किसी अन्य क्लास को एक्सटेंड नहीं कर सकते।त्रुटि उदाहरणclass Sample { } enum Scooters extends Sample { } // संकलन त्रुटिसंकलन त्रुटिEnumExample.java:5: error: { expected enum

  1. Java में pack() मेथड का उपयोग कब कर सकते हैं? Java में pack() मेथड का उपयोग कब कर सकते हैं?

    pack() मेथड Java में Window क्लास में परिभाषित है और यह फ्रेम को इस तरह आकार देता है कि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हैं। pack() मेथड का एक विकल्प setSize() या setBounds() मेथड्स को कॉल करके फ्रेम आकार को स्पष्ट रूप से स्थापित करना है। सामान्य तौर पर, pack() मेथड का उपयोग setSiz

  1. जावा में invokeLater() मेथड को कैसे कॉल करें? जावा में invokeLater() मेथड को कैसे कॉल करें?

    invokeLater() मेथड SwingUtilities क्लास का एक स्टैटिक मेथड है और इसका उपयोग AWT इवेंट डिस्पैचर थ्रेड में असिंक्रोनसली कार्य करने के लिए किया जा सकता है। SwingUtilities.invokeLater() मेथड SwingUtilities.invokeAndWait() की तरह काम करता है सिवाय इसके कि यह अनुरोध को इवेंट क्यू पर रखता है और तुरंत वापस