0
在java中我通常會設置一個enum
如下Groovy的枚舉保護性
public enum MealType {
BREAKFAST("Breakfast"),
LUNCH("Lunch"),
DINNER_OPEN("Dinner Cafeteria Open"),
DINNER_CLOSED("Dinner Cafeteria Closed");
private String label;
private MealType(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
}
這工作了好,因爲現在我的枚舉有一個很好的人類可讀標籤,該標籤是正常情況下不可改變的。例如,我不能這樣做:MealType.BREAKFAST.label = "fred"
但是,當我嘗試在Groovy中做同樣的事情時,getters和setter會自動生成。現在我創建了不想要的方法。 MealType.BREAKFAST.label = "fred"
會導致枚舉標籤被更改。