私はJavaで列挙型を持っています:
public enum Months
{
JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
}
インデックスで列挙値にアクセスしたい、例えば
Months(1) = JAN;
Months(2) = FEB;
...
どうすればよいでしょうか?
12
コンピュータサイエンスでは、インデックスは1ではなく0から始まります;-)
—
fredoverflow
本当によろしいですか?一般に、低レベルのデータ構造を実装する以外に、序数に触れてはなりません(その後、永続化のために名前などの代替メカニズムを使用します)。
—
トム・ホーティン-タックライン
java.util.Calendarクラスの定数を使用することもできます。1月から12月は0〜11の番号が付けられています。12はUnDecember(太陰暦と関係がある)であるため、注意してください。しかし、JREですでに「ストック」されている月定数のホイールを再発明する理由に興味がありますか?
—
クリスアルドリッチ
2FredOverflow:同意します。間違ったインデックスを使用しました。2Tom Hawtin:はい、きっと。一部のフレームワークでデータを永続化すると、列挙ではなく整数インデックスが返されます。2Chris Aldrich:これは実際のケースと一致しないダミーの例です。
—
jk_