因此,如果我们有一个像枚举:枚举时间问题
public enum light { red, yellow, green }
会是什么时间?难道光线不是某种颜色?
像
int duration = ligt.red = 1
或类似的东西?
因此,如果我们有一个像枚举:枚举时间问题
public enum light { red, yellow, green }
会是什么时间?难道光线不是某种颜色?
像
int duration = ligt.red = 1
或类似的东西?
声明的枚举是这样的:
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());
}
}
编辑:基于史蒂夫郭的建议下,可变duration
已作出终审判决。
Adarshr的答案假定持续时间是光的颜色属性。如果它是一组特定信号的颜色属性,则可以使用EnumMap<light, Integer>
。
class Signal {
private EnumMap<light, Integer> durations = new EnumMap<light, Integer>(light.class);
Signal() {
this.durations.put(light.red, 3);
....
}
}
你能描述一下你想表示的数据,而不是你想表示的结构吗?如果您告诉我们关于数据/任务的更多信息,我们可能会更好地协助您。 – 2011-03-07 22:58:49
很难弄清楚你究竟在问什么 - 你没有给出任何关于问题的背景,所以我们不知道什么时间*应该比你多。 – 2011-03-07 22:59:32