3

Javaは初めてで、例を検索しましたが、非常に苦労しています。

ジェネリックを使用するノードクラスがあります。

public class Node<T> {

    private int key;
    private T data;
    private Node<T> nextNode;

}

ノードはOKです。

public class GenericDictionary implements GenericDictionary_interface {

    private int capacity;
    private Node<T> [] slots;

    public void add (Node<T> newNode) {

    }
}

これが私がそれを書く方法だと思います。GenericDictionaryがノードオブジェクトで機能するようにしたい。

「Tはタイプとして解決できません」というエラーが表示されます。

どうあるべきかわからない。

4

2 に答える 2

9

クラスもジェネリックGenericDictionaryである必要があります。

public class GenericDictionary<T> ...
{
}

その時点でNode<T>、クラス内で使用しても問題ありません。

インターフェイスにメソッドが含まれている場合、インターフェイスaddもおそらく汎用である必要があります。

public class GenericDictionary<T> implements Dictionary<T>
{
}

ちなみに、と呼ばれるインターフェースには反対することをお勧めしますGenericDictionary_interface...実装が1つしかない場合は、インターフェースGenericDictionaryと実装を呼び出すことができますGenericDictionaryImpl-やや恐ろしいですが、かなり一般的です。複数の実装がある場合は、いくつかの差別化された側面によって実装に名前を付けます。

于 2012-10-24T09:22:23.007 に答える
3

2つ目では、タイプTが何であるかわからないため、宣言に追加する必要があります。

public class GenericDictionary<T> implements GenericDictionary_interface {

private int capacity;
private Node<T> [] slot;

public void add (Node newNode) {

}

}

于 2012-10-24T09:22:41.680 に答える