Как создать экземпляр Bimap коллекций Google?
Bimap
Я прочитал вопрос Java: создание HashBiMap из коллекции Google
Образец моего кода
import com.google.common.collect.BiMap; public class UserSettings { private Map<String, Integer> wordToWordID; UserSettings() { this.wordToWordID = new BiMap<String. Integer>();
Я получаю cannot instantiate the type BiMap<String, Integer>.
cannot instantiate the type BiMap<String, Integer>
Как указано в связанном вопросе, вы должны использовать фабричные методы create().
create()
В вашем случае это означает изменение
this.wordToWordID = new BiMap<String. Integer>();
до
this.wordToWordID = HashBiMap.create();
Еще один крутой способ создания BiMap, но в этом случае неизменный BiMap, использует ImmutableBiMap.Builder.
ImmutableBiMap.Builder
static final ImmutableBiMap<String, Integer> WORD_TO_INT = new ImmutableBiMap.Builder<String, Integer>() .put("one", 1) .put("two", 2) .put("three", 3) .build();
http://docs.guava -libraries.googlecode.com / мерзавец / Javadoc / COM / Google / общие / собирать / ImmutableBiMap.html
BiMap - это интерфейс, который не может быть создан. Вам нужно создать конкретный подкласс в соответствии с желаемыми свойствами, доступные подклассы (в соответствии с javadoc): EnumBiMap , EnumHashBiMap , HashBiMap , ImmutableBiMap .