java编译错误中的枚举

java编译错误中的枚举,java,Java,我正试图从下到上学习java,我有这本好书要读。现在我在书中找到了关于在类内但在任何方法外声明枚举的示例,所以我尝试了一下: Enum CoffeeSize { BIG, HUGE, OVERWHELMING }; 在书中,它的拼写是enum,我得到了这个编译消息语法错误,插入“;”以完成BlockStatements 枚举有那么重要吗?我的意思是我应该跳过它吗?或者有一天我可能会使用它们吗?这是在类中声明枚举的正确方法: public class Main { enum Foo { O

我正试图从下到上学习java,我有这本好书要读。现在我在书中找到了关于在类内但在任何方法外声明枚举的示例,所以我尝试了一下:

Enum CoffeeSize { BIG, HUGE, OVERWHELMING }; 
在书中,它的拼写是
enum
,我得到了这个编译消息
语法错误,插入“;”以完成BlockStatements


枚举有那么重要吗?我的意思是我应该跳过它吗?或者有一天我可能会使用它们吗?

这是在类中声明
枚举的正确方法:

public class Main {
  enum Foo { One, Two, Three }

  public static void main(String args[]) {
    System.out.println(Foo.One);
  }
}

您使用的是
enum
关键字,而不是
enum
,它是所有
enum
实例的超类。

删除“;”。您可以这样声明Enum

enum CoffeeSize { BIG, HUGE, OVERWHELMING }

有关更多信息,请访问从Java 5开始,
enum
是一个关键字,因此大写很重要

至于你是否需要了解他们,这真的取决于你。在一些版本中,它们甚至都不是语言的一部分,但拥有它们真的很好。引用同一本书:

…您可以保证编译器将阻止您将任何内容分配给
CoffeSize
,除了
BIG
BIG
、或
overriding

有些人不喜欢这个,但我个人喜欢让编译器完成我能从中得到的所有工作


(还有,这是学习基础知识的另一个很好的来源。)

当我复制/粘贴你的代码时,我从eclipse中得到这个编译错误
enum无法解析为类型
@London OK,我知道那是什么。您的项目正在编译为Java 1.4的目标。您需要将其更改为Java5或Java6。Java枚举在1.4中不存在。这与您正在使用的JDK不同。该项目将有一个关于使用哪种语言版本的设置。你是对的,当我显式地将maven compile plugin配置为使用1.6时,这个项目是如何使用1.4编译的。谢谢你这是正确的答案你安装了什么版本的Java?在命令行中键入
java-version
,以找到答案。@Bill the Lizard java version“1.6.0_18”,我甚至指定在使用mavenI构建项目时使用1.6。我认为当我尝试创建enum类时,我的eclipse可能有问题,我得到了这个错误
项目“progress”不是一个符合J2SE 5.0的项目。
当我尝试通过您提供的书或教程中的以下示例声明enum时,我get compile error同样的错误,无论如何谢谢你抽出时间我现在要睡觉了明天会尝试用谷歌搜索你使用的Java的哪个版本?我能够编译并运行以下公共类测试{enum CoffeeSize{BIG,Greg,Overriding}公共静态void main(字符串args[]){System.out.println(CoffeeSize.BIG);}