1. ホーム
  2. android

[解決済み] アンドロイドでEnumを使う

2022-08-17 06:19:06

質問

アプリのためにアンドロイドで作業している計算アクティビティがほぼ終了しました。Gender Enumを作成しようとしたのですが、なぜか Syntax error, insert "EnumBody" to complete EnumDeclaration.

public static enum Gender
{
    static
    {
        Female = new Gender("Female", 1);
        Gender[] arrayOfGender = new Gender[2];
        arrayOfGender[0] = Male;
        arrayOfGender[1] = Female;
        ENUM$VALUES = arrayOfGender;
    }
}

静的な{}抜きでも試しましたが、同じ構文エラーになります。

どのように解決するのですか?

一体どこでこの構文を見つけたのでしょうか?JavaのEnumは非常にシンプルで、値を指定するだけです。

public enum Gender {
   MALE,
   FEMALE
}

もっと複雑にしたい場合は、このように値を追加することができます。

public enum Gender {
    MALE("Male", 0),
    FEMALE("Female", 1);

    private String stringValue;
    private int intValue;
    private Gender(String toString, int value) {
        stringValue = toString;
        intValue = value;
    }

    @Override
    public String toString() {
        return stringValue;
    }
}

次に、enumを使うには、次のようにします。

Gender me = Gender.MALE