enumのフィールドに値をセット
enumにフィールドを持たせてコンストラクタで値をセット、ということはよくやっているけど、enumSetterを持たせて外部から値をセットできることに今日気づいた。
こんなコード書いて、
public enum Enum { A, B; private String name; public void setName(String name) { this.name = name; } public String getName() { return name; } }
こんなことができる。
Enum.A.setName("name of A");
てっきりenumの内部状態って生成後は変えられないのかと思っていた。