2012-05-10 25 views
1

が簡単であるために発生し、私が持っている:タイプ:ジェネリック型宣言は、エラー

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

そして

public class TreeDictionary implements Dictionary<TreeDictionary> { 

をコンパイルすると、エラーに

TreeDictionary.java:4を引き起こしましたパラメータTreeDictionaryがその中にありません バインドされたpublicクラスTreeDictionaryは 辞書{

私はディクショナリインターフェイスの宣言で完全にはっきりしていないと考えられます。誰かが私に説明できる場合

は本当にお願い申し上げこの:)

あなたが Eのために使用したい方の種類、それが Comparableインタフェースを実装しなければならないと言う
+0

に役立ちます願っています。 TreeDictionaryがDictionary of TreeDictionary(やはり)を実装してほしいかどうか確認してください。 –

+0

'TreeDictionary'を' TreeDictionary'の 'Dictionary'にしてもよろしいですか? – trutheality

+0

@trutheality:木構造の場合は、おそらくはい。 – skaffman

答えて

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

public class TreeDictionary implements Dictionary<TreeDictionary> 

TreeDictionaryComparableを実装していない、とそうDictionaryのジェネリック型にEに置き換えることはできません。

はあなたのTreeDictionary定義を考えます。

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

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

TreeDictionaryは今Eの制約に従う必要があります。

+0

を使用してください。 – Mountain

0

あなたのTreeDictionaryクラスもCom​​aparableインターフェイスを実装する必要があります。あなたはそれが

パブリッククラスを動作させるために、TreeDictionary辞書を実装匹敵

をComparableインタフェースを実装する必要がある

0

は、それがあなたの `TreeDictionary`クラスは` Comparable`インタフェースを実装していません

関連する問題