允许枚举在Java中使用setter吗? [英] Are enums allowed to have setters in Java?
本文介绍了允许枚举在Java中使用setter吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个枚举
,它具有一个 String
的参数(字段)。
我可以在此字段中使用二传手吗?
I have an enum
and it has a parameter (field) that is a String
.
Am I allowed to have a setter for this field?
public enum Blah {
Monday("a"), Tuesday("b");
}
private final String letter;
Blah(String letter){
this.letter = letter;
}
我可以做以下事情吗?
public String setLetter(String letter){
this.letter = letter;
}
推荐答案
您需要删除 final
字段的修饰符,以便使其可设置:
You need to remove the final
modifier of the field in order for it to be settable:
public enum Blah {
Monday("a"), Tuesday("b");
private String letter;
private Blah(String letter){
this.letter = letter;
}
public void setLetter(String letter){
this.letter = letter;
}
}
通常不建议在枚举中使用可变状态,但是
Having mutable state in an enum is generally not recommended, however.
这篇关于允许枚举在Java中使用setter吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文