Android编译器抱怨Google Guava v12的ImmutableSortedSet没有方法first()last()等,并且ImmutableSortedSet没有实现SortedSet。我目前正在使用Android API8。以下是一些示例代码:

/*
 * I only have one set, 'mSet', but for the sake of this example
 * I added an ImmutableSortedSet instance.
 */
private final SortedSet<Item> mSet;
private final ImmutableSortedSet<Item> mImmutableSet;

private MyObject(Collection <? extends Item> items) {
  // Fails -- cannot convert from ImmutableSortedSet<Item> to SortedSet<Item>
  mSet = ImmutableSortedSet.copyOf(items);
  mImmutableSet = ImmutableSortedSet.copyOf(items);
}

private Item getFirstItem() {
  // Fails -- no such method 'first()' in ImmutableSortedSet
  return mImmutableSet.first();
}


更新
我做了一些挖掘,结果发现NavigableSetImmutableSortedSet实现的接口)仅在API级别9和更高版本中可用。不幸的是,我仅限于使用API​​级别8。尽管如此,我的问题仍然存在。有没有一种方法可以解决此问题而无需使用Google的代码?

最佳答案

Guava 12.0不支持您的Android版本,因此请暂时坚持使用11.0.2版,直到我们有一个反向移植。

关于android - Android:无法在Google Guava的ImmutableSortedSet中调用SortedSet方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11183416/

10-09 10:07