Ответ 1
Как указано в связанном вопросе, вы должны использовать методы create()
factory.
В вашем случае это означает изменение
this.wordToWordID = new BiMap<String. Integer>();
к
this.wordToWordID = HashBiMap.create();
Как создать экземпляр Bimap
коллекций Google?
Я прочитал вопрос Java: создать экземпляр HashBiMap в Google Collection
Образец моего кода
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>
.
Как указано в связанном вопросе, вы должны использовать методы create()
factory.
В вашем случае это означает изменение
this.wordToWordID = new BiMap<String. Integer>();
к
this.wordToWordID = HashBiMap.create();
BiMap - это интерфейс, и поэтому он не может быть создан. Вам нужно создать конкретный подкласс в соответствии с вашими свойствами, доступные подклассы (согласно javadoc) EnumBiMap, EnumHashBiMap, HashBiMap, ImmutableBiMap.
Еще один классный способ создания BiMap, но в этом случае неизменяемый BiMap использует 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/git/javadoc/com/google/common/collect/ImmutableBiMap.html