簡體   English   中英

在Java中使用泛型類和泛型方法很難

[英]Having a hard time with generic classes and generic methods in java

java的新手,我確實搜索了一些例子,但我真的很難過。

我有一個使用泛型的節點類:

public class Node<T> {

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

}

節點是好的。

public class GenericDictionary implements GenericDictionary_interface {

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

    public void add (Node<T> newNode) {

    }
}

我想這就是我寫它的方式。 我希望GenericDictionary與節點對象一起使用。

我收到一個錯誤:“T無法解析為類型”。

事情是我不知道它應該是什么樣子。

您的GenericDictionary類也需要是通用的:

public class GenericDictionary<T> ...
{
}

那時,在類中使用Node<T>會很好。

如果接口包含add方法,那么接口應該也是通用的:

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

順便說一句,我建議不要使用名為GenericDictionary_interface的接口......如果只有一個實現,你可以調用接口GenericDictionary和實現GenericDictionaryImpl - 有點可怕,但相當普遍。 如果有多個實現,請通過某些區分方面命名實現。

在你的第二個中,它不知道T是什么類型,所以你需要將它添加到聲明中

public class GenericDictionary<T> implements GenericDictionary_interface {

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

public void add (Node newNode) {

}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM