1

Android コンパイラは、Google Guava v12には 、などImmutableSortedSetのメソッドがなく、が実装されていないと文句を言います。現在、Android API 8 を使用しています。サンプル コードは次のとおりです。first()last()ImmutableSortedSetSortedSet

/* 
 * 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();
}

更新
少し掘り下げたところ、API レベル 9 以降でのみ使用できるようになっNavigableSetたインターフェイスが実装されていることがわかりました。ImmutableSortedSet残念ながら、API レベル 8 の使用に制限されています。私の質問はまだ残っています。Google のコードをいじらずにこれを修正する方法はありますか?

4

1 に答える 1

5

Guava 12.0 はお使いのバージョンの Android をサポートしていないため、バックポートができるまではバージョン 11.0.2 を使用してください。

于 2012-06-25T05:53:36.993 に答える