我正在尝试创建一个SkipList,我有一个采用通用数据类型的方法:
public void add(E key,Integer value)
{
Node p;
p = find(key);
}
带你到这里:
public Node find(E key)
{
//Start at head
Node p = head;
while (true)
{
while ( (p.getRight().getKey() != Node.posInf) && (p.getRight().getKey().compareTo(key) <= 0 ))
{
p.setRight(p.getRight());
}
//More stuff down here
}
}
问题出在compareTo()方法上.它说类型E的compareTo()方法是未定义的.在Eclipse中它要我添加两个这样的类型转换:
((String)p.getRight().getKey().compareTo((String)key)< = 0) 为什么要String?数据类型可以是任何东西.我尝试做E的类型转换,但是Eclipse想要将它改回String.任何帮助,将不胜感激.