我们能在 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("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

更新于:08-Feb-2021

2K+ 浏览量

Kickstart 你的 职业

完成课程以获得证书

开始学习
广告