单独的枚举文件不会接受变量

时间:2014-11-07 03:50:46

标签: java enums

我创建了一个enum.java文件,在创建变量时出错。但在我的其他.java文件中,没有出现这些错误。在枚举Foo中,唯一没有导致错误的是,如果Foo构造函数没有参数,并且枚举中没有其他变量。

错误的范围从String是无效修饰符和要删除的布尔值。

package com.foo.bar

public enum Foo
{
    String foo;
    boolean isBarable;

    Foo(String foo, boolean isBarable)
    {
        this.foo = foo;
        this.isBarable = isBarable;
    }
}

1 个答案:

答案 0 :(得分:3)

你错过了枚举中最重要的元素:枚举实例。

public enum Foo
{
    //  instances go here

    ;   // **** semicolon needed

    private String foo;
    private boolean isBarable;

    private Foo(String foo, boolean isBarable)
    {
        this.foo = foo;
        this.isBarable = isBarable;
    }
}

拍摄,只添加分号就可以解决编译错误,但是如果没有枚举实例,枚举就没用了。

如,

public enum Foo
{
    BAR("bar", true), BAZ("baz", false) ;

    private String foo;
    private boolean isBarable;

    private Foo(String foo, boolean isBarable)
    {
        this.foo = foo;
        this.isBarable = isBarable;
    }
}