1

列挙型の序数の値をパラメーターとしてに渡す必要がありますHashMap<String, String>。つまり、序数を文字列としてキャストしたいのです。

今、私はこれをやっています:

HashMap<String, String> myHashMap = new HashMap<String, String>();
myHashMap.put("foo", String.format("%s", MyEnum.BAR.ordinal()));

それが最善の方法ですか?.toString()メソッドはここでは利用できず、(String)MyEnum.BAR.ordinal()機能しません。

4

5 に答える 5

1

あなたが使用することができます

myHashMap.put("foo", String.format("%d", Integer.toString(MyEnum.BAR.ordinal())));

または単に(クレジット@OldCurmudgeon)

myHashMap.put("foo", Integer.toString(MyEnum.BAR.ordinal()));

免責事項:使用Map<String, MyEnum>する方が良いというコメントに同意する必要があります

于 2013-09-25T14:39:27.727 に答える
0

列挙名をキーとして使用する方が良いと思います

MyEnum.BAR.name()

そして逆変換

MyEnum.valueOf("BAR")
于 2013-09-25T14:45:45.267 に答える