Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราสามารถกำหนด enum ภายในวิธีการใน Java ได้หรือไม่?


การแจงนับใน Java แสดงถึงกลุ่มของค่าคงที่ที่มีชื่อ คุณสามารถสร้างการแจงนับโดยใช้รูปแบบต่อไปนี้ -

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

เราสามารถแจงนับภายในคลาสได้ แต่เราไม่สามารถกำหนด enum ภายในวิธีการได้ หากคุณพยายามทำเช่นนั้น จะทำให้เกิดข้อผิดพลาดในการคอมไพล์ว่า "ประเภท enum ต้องไม่อยู่ในเครื่อง"

ตัวอย่าง

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