これがケースです。2つのクラス、、、AおよびB汎用インターフェイスがありますC
Class A implements Comparable<A> {...}
interface C<T> {...}
//this class is not longer generic type, I do not know if this matter.
Class B extends A implements C<A> {...}
それから、他のクラスで、Bリストを取得して、次のように並べ替えました
List<B> list = new ArrayList<B>();
Collections.sort(list);
これは完全に機能しますが、より一般的なものになるように、のリストをB汎用インターフェイスに変更したいと思いますC。
List<C<A>> list = new ArrayList<C<A>>();
Collections.sort(list);
今回は次のようなエラーが発生しました。
バインドの不一致:
sort(List<T>)タイプの一般的なメソッドはCollections、引数には適用できません(List<C<A>>)。推論された型C<A>は、制限されたパラメーターの有効な代替ではありません<T extends Comparable<? super T>>
私は次の変更を試しました(もちろん機能しません):
Cに変更interface C<T> extends Comparable<T>{...}Bに変更class B extends A implements C<A>, Comparable<T> {...}
誰か助けてもらえますか?