Java에서 Google 수집의 Bimap을 인스턴스화합니다
문제
어떻게 인스턴스화 할 수 있습니까? Bimap
Google 수집의?
나는 질문을 읽었다 Java : Instantiate Google Collection의 Hashbimap
내 코드 샘플
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()
공장 방법.
귀하의 경우, 이것은 변화를 의미합니다
this.wordToWordID = new BiMap<String. Integer>();
에게
this.wordToWordID = HashBiMap.create();
다른 팁
Bimap 인터페이스이므로 인스턴스화 할 수 없습니다. 원하는 속성에 따라 콘크리트 서브 클래스를 인스턴스화해야합니다 (Javadoc에 따라 사용 가능한 서브 클래스) enumbimap, Enumhashbimap, 해시 맵, EmutableBimap.
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
제휴하지 않습니다 StackOverflow