我正在尝试创建一个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.任何帮助,将不胜感激.