所以,如果我们有一个类似的枚举:
public enum light { red, yellow, green }
持续时间是多少?是不是光是某种颜色的时候?
喜欢
int duration = ligt.red = 1
或类似的东西?
答案 0 :(得分:3)
声明你的枚举:
public enum Light {
RED(1),
YELLOW(2),
GREEN(3);
private final int duration;
Light(int duration) {
this.duration = duration;
}
public int getDuration() {
return this.duration;
}
}
然后你可以像这样使用它:
public class Test {
public static void main(String... args) {
Light light = Light.RED;
System.out.println("Duration of RED is: " + light.getDuration());
}
}
编辑:根据Steve Kuo的建议,变量duration
已经成为最终版。
答案 1 :(得分:0)
Adarshr的回答假定持续时间是光的颜色属性。如果它是一组特定信号的颜色属性,则可以使用EnumMap<light, Integer>
。
class Signal {
private EnumMap<light, Integer> durations = new EnumMap<light, Integer>(light.class);
Signal() {
this.durations.put(light.red, 3);
....
}
}