Java 实例化泛型类

Java 实例化泛型类,java,list,generics,skip-lists,Java,List,Generics,Skip Lists,我试图使用泛型实现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

我试图使用泛型实现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
}
公共类SkipNode
{
私钥;
私有整数值;
//链接
专用SkipNode向上、向下、左、右;
//头键和尾键。不能在-oo之前或+oo之后添加。
公共静态字符串negInf=“-oo”;
公共静态字符串posInf=“+oo”;
公共SkipNode(){}
公共SkipNode(ek,整数v)
{
key=k;//添加密钥
value=v;//赋值
up=down=left=right=null;//将链接设置为null
}
//这里有能手和二传手
}
列表类:

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);
    }
}
import java.util.Random;
公开课技工
{
私用SkipNode头;
私家鸡尾;
私人int尺寸、高度;
私有随机兰德;
公共技工()
{
SkipNode p1,p2;
p1=新的SkipNode(SkipNode.negInf,null);
}
}
错误出现在
p1=new SkipNode(SkipNode.negInf,null)上
我尝试删除该行上的
,并将其更改为:
p1=newskipnode(SkipNode.negInf,null),这没有多大意义,但我想我会试试。我还尝试在参数中使用“-oo”,但它希望我将节点构造函数参数更改为String和Integer


我做错了什么?

初始化类时需要使用具体类型

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

谢谢,你能回答我其他评论中的问题吗?OP的问题:每次我想在列表中添加一些东西时,我是否必须这样做?如果我不知道要传递的数据类型怎么办?@yayu
SkipNode
是泛型的,因此您必须在实现时定义类型。@Reimeus哦,对了!真不敢相信我竟然忘了。谢谢你们两位的帮助!