我正在尝试创建一个SkipList,我有一个采用通用数据类型的方法:
public void add(E key,Integer value) { Node<E> p; p = find(key); }
带你到这里:
public Node<E> find(E key) { //Start at head Node<E> 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.任何帮助,将不胜感激.