Java中具有int值的枚举

开膛手234:

什么是C#的Java等价物:

enum Foo
{
  Bar = 0,
  Baz = 1,
  Fii = 10,
}
戴夫·韦伯(Dave Webb):

如果需要属性,则enum需要这样定义:

public enum Foo {
    BAR (0),
    BAZ (1),
    FII (10);

    private final int index;   

    Foo(int index) {
        this.index = index;
    }

    public int index() { 
        return index; 
    }

}

您可以这样使用它:

public static void main(String[] args) {
    for (Foo f : Foo.values()) {
       System.out.printf("%s has index %d%n", f, f.index());
    }
}

要实现的是,这enum只是创建类的捷径,因此您可以向该类添加所需的任何属性和方法。

如果您不想在自己的方法上定义任何方法,则enum可以更改成员变量的范围并进行设置public,但这不是它们在Sun网站上的示例中所做的

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章