基本上我所做的是为州写一个枚举,我不仅希望能够像州一样访问它们,而且还希望能够访问它们的缩写以及它们是否是原始殖民地。
public enum States {
...
MASSACHUSETTS("Massachusetts", "MA", true),
MICHIGAN("Michigan", "MI", false),
...; //so on and so forth for all fifty states
private final Object[] values;
States(Object... vals) {
values = vals;
}
public String FULL() {
return (String) values[0];
}
public String ABBR() {
return (String) values[1];
}
public boolean ORIGINAL_COLONY(){
return (boolean) values[2];
}
}
这似乎像我期望的那样工作。我可以
System.out.println(States.ALABAMA); // Prints "ALABAMA"
System.out.println(States.ALABAMA.FULL()); // Prints "Alabama"
System.out.println(States.ALABAMA.ABBR()); // Prints "AL"
System.out.println(States.ALABAMA.ORIGINAL_COLONY());// Prints "false"
对于这种涉及枚举的特定场景,这是最好的方法还是有更好的方法来设置和格式化这个枚举?提前感谢大家!