我想创建一个使用枚举的层次结构类型系统。我以前从未使用Enum。Java - 在枚举中使用“this”?
此方法总是返回农民。我认为这是因为我错误地使用了“this”,或者我完全误解了enums。
public enum Rank {
PEASANT,
TRADER,
SQUIRE,
MERCHANT,
KNIGHT,
NOBLE,
KING;
public Rank getNextRank() {
switch (this) {
case PEASANT:
return SQUIRE;
case SQUIRE:
return KNIGHT;
case KNIGHT:
return NOBLE;
case NOBLE:
return KING;
case KING:
return PEASANT;
}
return PEASANT;
}
}
(我意识到KING情况下是没有必要的,但我喜欢它的可读性)
我想Rank.PEASANT.getNextRank()
返回Rank.SQUIRE
和Rank.NOBLE.getNextRank()
返回Rank.KING
等
你的方法完美的工作。 –
您的方法正在工作。请发布代码,你正在调用它... – Thihara
@Baadshah我不这么认为。我得到Rank.PEASANT for Rank.SQUIRE.getNextRank() – fruitcup