0
我正在看一个简单的Enum示例来尝试和刷新我的技能,我注意到至少通过一个红旗为我的东西,因为我不明白为什么它被允许。访问私有成员的枚举变量?
这里是枚举的副本我一直在寻找:
public enum GameDuration {
Short("30"), Medium("45"), Long("60");
private GameDuration(String minutes) {
this.minutes = minutes;
}
private String minutes;
public String getMinutes() {
return this.minutes;
}
public static GameDuration fromMinutes(String minutes) {
if (minutes != null) {
for (GameDuration g : GameDuration.values()) {
if (minutes.equalsIgnoreCase(g.minutes)) {
return g;
}
}
}
return null;
}
}
我不明白的部分是在fromMinutes方法和粘贴下面:
if (minutes.equalsIgnoreCase(g.minutes)) {
分钟enum中的字段被标记为私有的,那么如何直接从变量g中访问?
感谢
哦,我没有注意到......对不起,这很晚了。 :)即使它是静态的? – 2013-03-24 05:05:11
@JanTacci:即使它是静态的(因为你的编译器已经告诉你了)。 – 2013-03-24 05:05:40
K明白了,我应该早点注意到:) – 2013-03-24 05:07:36