我们可以在Java方法中定义枚举吗?

Java中的枚举代表一组命名常量,您可以使用以下语法创建枚举-

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

我们可以在一个类中进行枚举。但是,我们无法在方法内部定义枚举。如果尝试这样做,则会生成一个编译时错误,提示“枚举类型一定不能是本地的”。

示例

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

要在方法内使用枚举常量,请在类内声明所需的枚举,并在使用的方法内使用其常量values()。

示例

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