문제

어떻게 인스턴스화 할 수 있습니까? 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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top