【发布时间】:2010-11-30 11:36:06
【问题描述】:
首先,这不是Enums in Ruby的重复:)
该问题的公认答案表明这是在 Ruby 中表示枚举的好方法:
class Foo
BAR = 1
BAZ = 2
BIZ = 4
end
在 Java 中,可以将多个值和方法附加到一个枚举值。我想在 Ruby 中实现相同或类似的目标。
表示这个 Java 枚举的最类似于 Ruby 的方式是什么:
public enum Enum
VALUE_1("Value 1"),
VALUE_2("Value 2"),
VALUE_3("Value 3");
Enum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
private String value;
}
编辑:
我还想保留 Java 枚举的隐含特性:
- ...检索序数值
- ...在枚举值(或等效的东西)上调用方法
示例:
Enum.VALUE_1.getValue(); // "Value 1"
Enum.VALUE_2.name(); // "VALUE_2"
Enum.VALUE_3.ordinal(); // 2
【问题讨论】:
-
您应该删除构造函数上的“public”修饰符以使其编译。