Я пытаюсь создать систему типа иерархии, используя Enum. Раньше я никогда не использовал Enum.Java - Использование «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 для Rank.SQUIRE.getNextRank() – fruitcup