[英]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.