Я использую Binarytree
и для моегоява CompareTo вычитает значения
removeNode(E value) method (E extends Comparable<E>),
я использую метод value.compareTo(root.getData())
. К сожалению, он не сравнивается, но вычитает оба значения и возвращает результат как целое. Кто-нибудь знает, почему? Узлы и дерево строятся с короткими, как
Node<Short> n=new Node<Short>((short) 20);
EDIT:
BinNodeGen<Short> rootNode = new BinNodeGen<Short>((short)20);
BinNodeGen<Short> NodeA2 = new BinNodeGen<Short>((short)10);
BinNodeGen<Integer> NodeA3 = new BinNodeGen<Short>((short)35);
BinTreeGen<Short> voll3 = new BinTreeGen<Short>();
voll3.setRootNode(rootNode);
rootNode.setLeftChild(NodeA2);
rootNode.setRightChild(NodeA3);
voll3.insertNode((short)2);
voll3.insertNode((short)1);
voll3.insertNode((short)3);
voll3.insertNode((short)14);
voll3.insertNode((short)18);
voll3.insertNode((short)17);
voll3.insertNode((short)24);
voll3.insertNode((short)28);
voll3.insertNode((short)25);
voll3.insertNode((short)30);
voll3.removeNode(35);
...
и метод:
public void removeNode(E value) {
if (value.compareTo(root.getData()) == 0) {
Однако, когда я пытаюсь
System.out.println(value.compareTo(root.getData());
Я получаю значение значение минус root.getData()!
Мы не можем отладить невидимый код. Опубликуйте соответствующие части здесь. – csmckelvey
ehm ... что? compareTo всегда возвращает int. в чем проблема? – Stultuske
Что вы думаете, что 'compareTo' должен вернуться? – khelwood