Android コンパイラは、Google Guava v12には 、などImmutableSortedSet
のメソッドがなく、が実装されていないと文句を言います。現在、Android API 8 を使用しています。サンプル コードは次のとおりです。first()
last()
ImmutableSortedSet
SortedSet
/*
* 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 のコードをいじらずにこれを修正する方法はありますか?