toStringメソッドをオーバーライドして文字列にカードの列挙型を取得しようとしましたが、名前を小文字で入力しても大文字ですべての名前を取得し続けます。だから私はgetter getNameをやろうとしましたが、それは大文字の名前を与え続けます。私は何か間違っているのですか?別の列挙型を使用しているため、私は使用しています。Enum toString()override
public enum Color {
HEART ("♥"), //previously "heart"
DIAMOND ("♦"), //previously "diamond"
CLOVER ("♣"), //previously "clover"
SPADE ("♠"), //previously "spade"
NA ("NA");
private String name;
private Color(String name) {
this.name = name;
}
public String getName() {
return this.name();
}
};
あなたは 'toString'オーバーライドしていない - あなたがしていると思わせる何か?あなたは '@Override public String toString(){return name; } ' –
getNameメソッドではthis.name(this.name()ではありません) –
@Jon Skeetは実際には人々が私に気付かせた構文エラーでした。 Tbhなぜメソッド名()は存在しないが、それはまだ実行されているので、それについて私に警告しなかったのだろうか? –