回答/編輯:如何實例化guava EnumBiMap?
好吧,剛剛意識到我試圖錯誤地使用EnumBiMap。我想要一個不允許空值的bi map,我猜Guava library沒有這個值。我看着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文件和各地的網絡,卻找不到實現EnumBiMap類的任何實例。它不像HashBiMap那樣,我可以很容易地實例化。以下是我已經試過 - 這些都不可以編譯爲我:
Map<Integer, String> m = EnumBiMap.create();
..similar到這裏建議的內容:Java: Instantiate Google Collection's HashBiMap
也試過:
Map<Integer, String> m = EnumBiMap.<Integer, String>create();
..similar在格式化這裏:Google Guava: How to use ImmutableSortedMap.naturalOrder?
和:
Map<Integer, String> m = EnumBiMap.create(Integer.class, String.class);
有沒有人成功實現EnumBiMap或看過任何例子?如果是這樣,怎麼樣?