私の列挙型を取得するために文字列を解析することは、現在、このようなものです:私はこれを行うことを計画してHashMapを作成する必要がが列挙の値を設定し、列挙型
public enum Manufacturers {
Honda,
GM,
Toyota,
Ferrari
}
、これは正しいでしょうか?
Manufacturers mfg = Manufacturers.Honda;
mfg.ordinal() // save as key
私はまた、私が列挙の序数値も、バック列挙型を取得します文字列を解析できるようにする必要がありenumInstance.ordinal()
を使用してキーを格納します。すなわち:
Manufacturers mfg = Manufacturers.valueOf(mfgOrdinalValueAsString);
上記は私にエラー(文字列は "1")を与えました。これは正しい方法ですか?私は試してみるべきだと思いますか?
GM( "5")、Toyota( "6") – Blankman
いいえ、設定できません。序数は値は列挙型の中で宣言されます。 – ziesemer
なんらかの理由で、列挙の各要素(自動的に割り当てられた序数以外)に関連した別の 'int'番号が必要な場合は、getterとともにenumに属性として追加することができます –