我正在寻找一个简单的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)) {
枚举中的分钟字段标记为私有,那么如何直接从变量g中访问它?
由于
答案 0 :(得分:1)
方法fromMinutes(...)
位于GameDuration类的内部,因此可以访问类的私有变量和方法。