从Multimaps.synchronizedSortedSetMultimap转换多图

时间:2018-02-17 14:22:51

标签: java guava

我在做

private TreeMultimap<Integer, String> top10words = 
    Multimaps.synchronizedSortedSetMultimap(TreeMultimap.create());

但是我得到了

  

类型不匹配:无法从SortedSetMultimap转换为TreeMultimap

我应该在这做什么?我尝试过铸造,但失败了

private TreeMultimap<Integer, String> top10words = 
    (TreeMultimap<Integer, String>) Multimaps.synchronizedSortedSetMultimap(TreeMultimap.create());

1 个答案:

答案 0 :(得分:2)

你应该做的是查看TreeMultimap的类型层次结构并注意

  • 它扩展了AbstractSortedKeySortedSetMultimap
  • 扩展了AbstractSortedSetMultimap
  • 实现SortedSetMultimap

后者(SortedSetMultimap)是返回的内容(实际上是SynchronizedSortedSetMultimap - 内部Guava类),而不是TreeMultimap同步)这就是为什么只有

SortedSetMultimap<Integer, String> top10words =
    Multimaps.synchronizedSortedSetMultimap(TreeMultimap.create());

是可能的。