【发布时间】:2014-06-25 14:34:16
【问题描述】:
请帮助我更好地理解这个枚举类。
public enum TryMe {
A("A", "Description of A"),
B("B", "Description of B");
private String a;
private String b;
private TryMe(String a, String b) {
this.a = a;
this.b = b;
}
//Getter and Setter for 'a' and 'b'
}
当我包含在 Hibernate Entity 类中时会发生什么?
实体类对应的数据库列需要一个值为“A”或“B”的字符串。
String 值将如何传递?
【问题讨论】:
-
不,没有二传手。你绝对应该将'a'和'b'声明为'final'!
-
从技术上讲,您不需要枚举构造函数中的
private关键字 - 无论如何,所有枚举构造函数都隐含private,尝试声明是编译器错误他们是别的什么。是否包含它实际上取决于个人喜好,但我知道有些人喜欢在其中包含它。 -
枚举在代替标准单例模式时也非常有用。 @see Josh Bloch 的“Effective Java”informit.com/articles/article.aspx?p=1216151&seqNum=3