2013-03-03 29 views
3

如果在枚举中有一个枚举, DaySunDay,MunDay等。有没有一种简单的方法来生成switch声明如下?人手非常多。如何使用枚举生成switch语句框架

switch(day) { 

    case SunDay : 
      break; 

    case MunDay : 
      break; 

    // and so on 
} 
+3

该代码应该工作。那么究竟是什么问题呢? – 2013-03-03 22:16:15

+3

你是什么意思的“生成”? – BloodShura 2013-03-03 22:16:30

+1

http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html – Maroun 2013-03-03 22:17:21

回答

9

如果您使用的是Eclipse IDE,你可以构造一个空的开关,和Eclipse会给你打电话“添加缺少的case语句”自动生成开关的选项。请参见下面的IMAGEM:

(在另一个窗口中打开图像看得更清楚。)

enter image description here

+0

我只想要一些枚举,例如一年中的几个月。 – javaguy 2013-03-09 21:37:17

2

像这样的东西应该工作

public class DaySwitchGenerator { 
    public static void main(String...args) { 
     System.out.println("switch(day) {"); 

     for (Day e : Day.values()) { 
      System.out.println(" case " + e.name() + " :"); 
      System.out.println("  break;"); 
     } 

     System.out.println("}"); 
    } 
}