回答/編集:
わかりました。EnumBiMapを誤って使用しようとしていることに気づきました。null値を許可しないbiマップが欲しかったのですが、Guavaライブラリにはありません。ImmutableBiMapを見ましたが、値が変化しない静的なものであると想定されています。HashBiMapに何かを入れる前に、nullをチェックする必要があると思います。
そうは言っても、これがEnumBiMapをインスタンス化/使用する方法です。
与えられた列挙型:
enum Test{
VAL;
}
使用する:
Map<Test, Test> m = EnumBiMap.create(Test.class, Test.class);
m.put(Test.VAL, Test.VAL);
または、より一般的なEnumBiMapが必要な場合は、任意の列挙型をサポートします。
Map<Enum, Enum> m = EnumBiMap.create(Enum.class, Enum.class);
m.put(Test.VAL, Test2.VAL2);
元の質問:
Guava APIのドキュメントとWebを調べましたが、EnumBiMapクラスを実装する例が見つかりません。簡単にインスタンス化できるHashBiMapと同じようには動作しません。これが私が試したことです-これらのどれも私のためにコンパイルされません:
Map<Integer, String> m = EnumBiMap.create();
..ここで提案されているものと同様:Java:GoogleコレクションのHashBiMapをインスタンス化する
また試した:
Map<Integer, String> m = EnumBiMap.<Integer, String>create();
..ここでのフォーマットと同様:Google Guava:ImmutableSortedMap.naturalOrderの使用方法は?
と:
Map<Integer, String> m = EnumBiMap.create(Integer.class, String.class);
誰かがEnumBiMapを正常に実装したか、例を見たことがありますか?もしそうなら、どのように?