目次 Edit

整数をenumに変換 Edit

そもそも速度を気にするならenumじゃなくて static final int を使った方が良かったりする。

0始まりのenumであれば、単純に Enum.values() を使えばOK Edit

enum HOGE {
  A,
  B,
  C,
  MAX,
};
for (int i=0; i<HOGE.MAX; i++) {
  HOGE hoge = HOGE.values()[i];
}

0始まりでない場合や、ちゃんとやるならこんな感じで Edit

public enum HOGE {
  A(10),
  B(50),
  C(60);
  
  HOGE(final int value) {
    m_value = value;
  }

  public int toInt() {
    return m_value;
  }

  public static HOGE valueOf(final int value) {
    for (HOGE d : values()) {
      if (d.toInt() == value) {
        return d;
      }
    }
    return null;
  }

  private int m_value;
}

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2012-04-04 (水) 00:44:55 (1875d)