いいえ。
しかし、変換方法はそれほど難しくありません。
public enum SomeChar {
X('X'), Y('Y');
public char asChar() {
return asChar;
}
private final char asChar;
SomeChar(char asChar) {
this.asChar = asChar;
}
}
その後:
if (a.asChar() == 'X') { ... }
asCharフィールド/コンストラクターが気に入らない場合は、ゲッターをとして実装することもできますreturn name().charAt(0)
。
lombokを使用している場合、これはさらに簡単になります。
@RequiredArgsConstructor
@Getter
public enum SomeChar {
X('X'), Y('Y');
private final char asChar;
}
if (a.getAsChar() == 'X') { ...
ところで、名前の付いた列挙型Enum
は混乱を招くでしょう。ほとんどの人がEnum
ソースを見て、それを想定しているからjava.lang.Enum
です。java.lang.*
一般に、一般的に使用される/インポートされるクラス名をシャドウイングすることは危険であり、クラスは(常にインポートされる)よりも一般的にインポートされることはありません。