1

私は Java Generics でコーディングしています。任意の class を取り込める Binary Tree クラスを一般的に定義し、そのクラスに Comparator メソッド compare(T o1, T o2) があることを保証して、挿入のために右または左のサブツリーをたどる必要があるかどうかを確認したい私の二分木に。

public class treeDB <T implements Comparator> {
    //define my binary tree methods
}

これは Comparator メソッドを強制的に実装する方法についての私の最善の推定ですが、コンパイルでエラーがスローされ、それが何を望んでいるかを知るのに十分なことがわかりません。

4

4 に答える 4

3

これを試して

class treeDB <T extends Comparator<T>> {
...
于 2013-10-07T03:54:44.117 に答える
2

まず、implementsに置き換える必要がありますextends。In genericsextendsは、ジェネリック型がインターフェイスを実装している場合でも使用されるキーワードです。

次に、 onlyComparatorを使用すると、生の型であるという警告が表示されます。パラメータ化する必要があります。これがあなたの解決策です:

public class treeDB <T extends Comparator<T>> {

}
于 2013-10-07T03:55:15.663 に答える
1

public class treeDB <T extends Comparator>これはではなくであるべきpublic class treeDB <T implements Comparator>です。

于 2013-10-07T03:53:25.653 に答える