Java の列挙型は特殊なクラスのように扱うことができるので、以下のようにメンバ変数を持たせれば、各項目に任意の値を関連付けて持たせることができます。
気を付けることは、
;
) で終わることです。
public enum Piece {
EMPTY(' '),
WHITE_KING('K'),
WHITE_QUEEN('Q'),
WHITE_BISHOP('B'),
WHITE_KNIGHT('N'),
WHITE_ROOK('R'),
WHITE_PAWN('P'),
BLACK_KING('k'),
BLACK_QUEEN('q'),
BLACK_BISHOP('b'),
BLACK_KNIGHT('n'),
BLACK_ROOK('r'),
BLACK_PAWN('p'); // セミコロン (;) で終わること
private char symbol;
private Piece(char symbol) {
this.symbol = symbol;
}
public char getSymbol() {
return symbol;
}
}
また、列挙型の toString()
メソッドをオーバーライドすることができるため、列挙型オブジェクトをそのまま出力した場合の表示内容を自由にカスタマイズできます。
@Override
public String toString() {
return Charactor.toString(symbol);
}