1

簡単に言えば、私は持っています:

public interface Dictionary<E extends Comparable<E>> extends Iterable<E> {

public class TreeDictionary implements Dictionary<TreeDictionary> {

コンパイル時にエラーが発生しました

TreeDictionary.java:4: 型パラメータ TreeDictionary は、そのバインドされたパブリック クラス内にありません TreeDictionary は Dictionary を実装します {

その理由はおそらく、 Dictionary インターフェースの宣言が完全に明確ではないためだと思います。

誰かが私にこれを説明できれば本当に感謝します:)

4

3 に答える 3

5
public interface Dictionary<E extends Comparable<E>>

つまり、どのタイプを に使用する場合でも、インターフェースEを実装する必要がありComparableます。

TreeDictionaryあなたの定義を考えると:

public class TreeDictionary implements Dictionary<TreeDictionary>

TreeDictionaryは を実装していないため、 のジェネリック型で をComparable置き換えることはできません。EDictionary

代わりにこれを試してください:

public class TreeDictionary implements Dictionary<TreeDictionary>, Comparable<TreeDictionary>

TreeDictionaryの制約に準拠する必要がありEます。

于 2012-05-10T15:47:45.000 に答える
0

それが機能するためには、Comparableインターフェースを実装する必要があります

パブリッククラスTreeDictionaryは、Dictionary、Comparableを実装します

それが役に立てば幸い

于 2012-05-10T15:49:42.363 に答える
0

TreeDictionary クラスは、Compaparable インターフェイスも実装する必要があります。

于 2012-05-10T15:48:28.183 に答える