スキルを磨くために簡単な 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 から直接アクセスするにはどうすればよいでしょうか?
ありがとう