簡體   English   中英

實例化泛型類

[英]Instantiating generic class

我正在嘗試使用泛型實現SkipList,但遇到了問題。 我似乎無法實例化一個節點。

節點類:

public class SkipNode<E> 
{
    private E key;
    private Integer value;

    //Links
    private SkipNode<E> up, down, left, right;

    //Head and tail keys. Cannot add before -oo or after +oo.
    public static String negInf = "-oo";
    public static String posInf = "+oo";

    public SkipNode() {}

    public SkipNode(E k, Integer v)
    {
        key = k;                                // Add key
        value = v;                              // Assign value

        up = down = left = right = null;        // Set links to null
    }

    //Getters and setters down here
}

清單類別:

import java.util.Random;

public class SkipList<E>
{
    private SkipNode<E> head;
    private SkipNode<E> tail;

    private int size, height;
    private Random rand;

    public SkipList()
    {
        SkipNode<E> p1, p2;

        p1 = new SkipNode<E>(SkipNode.negInf, null);
    }
}

錯誤發生在p1 = new SkipNode<E>(SkipNode.negInf, null); 我嘗試刪除該行上的<E>並將其更改為: p1 = new SkipNode(SkipNode<E>.negInf, null); ,這沒有什么意義,但我想我會嘗試的。 我還嘗試在參數中執行“ -oo”,但它希望我將Node構造函數參數更改為String和Integer。

我究竟做錯了什么?

初始化類時需要使用具體類型

SkipNode<String> p1 = new SkipNode<String>(SkipNode.negInf, null);

暫無
暫無

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

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