【问题标题】:Switch statement not working in Java with enum带有枚举的 Java 中的 switch 语句不起作用
【发布时间】:2015-04-02 05:51:33
【问题描述】:

我这样创建了一个枚举

public enum Direction {
    NORTH, SOUTH, WEST, EAST, NORTHWEST, NORTHEAST, SOUTHWEST, SOUTHEAST
}

然后我尝试在 switch 语句中使用它

 Direction direction = Direction.NORTH;
    switch(direction){
    NORTH:
        System.out.println("Syntax error on token {, case expected after this token");
        break;
    }

我收到了我在 println 中输入的错误...

【问题讨论】:

  • 案例北:.....
  • 3 票赞成零研究工作?好的...
  • @Tom 1 否决了嫉妒的努力?好的...规则 #1 如果您有问题,即使是小问题,并且您认为这是一个愚蠢的问题,事实上很多人都会遇到同样的问题。
  • @CodeCamper 和?即使他们有同样的问题,他们可以花费 5 秒钟的时间来研究并且他们已经完成了。
  • @Tom 我花了 10 秒钟,但我看不到问题,因为所有的大写字母。我有其他带大小写的枚举代码,但出于某种原因,我的眼睛用大写字母欺骗了我。我也学到了一些新东西,因为答案是关于枚举方法来避免这一切。

标签: java enums switch-statement


【解决方案1】:

您错过了case 关键字。

switch(direction){
case NORTH:
    System.out.println("Syntax error on token {, case expected after this token");
    break;
}

Demo

【讨论】:

    【解决方案2】:

    虽然不直接回答问题,但我建议向枚举 (Java Enum Methods) 添加一个方法并改为调用该方法。如果我们添加一个新的枚举类型,这将使​​它更清晰。我们不必对switch case进行修改,只需为新添加的枚举类型添加实现即可。

    【讨论】:

      猜你喜欢
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多