Я действительно борюсь с этим. Я не могу понять, почему я не могу сравнить значение с Node.value ...
строка:
if (value < currentNode.value) {
проблема: оператор '<' не может быть применен к 'V ',' java .lang.Comparable '</p>
public class BinaryTree<V extends Comparable<V>> {
Node<V> root;
public void addNode(V value) {
Node newNode = new Node(value);
if (root == null) {
root = newNode;
} else {
Node<V> currentNode = root;
Node<V> parent;
while (true) {
parent = currentNode;
if (value.compareTo(currentNode.value) == -1) {
currentNode = currentNode.left;
if (currentNode == null) {
parent.left = newNode;
return;
}
} else {
currentNode = currentNode.right;
if (currentNode == null) {
parent.right = newNode;
return;
}
}
}
}
}
public int compareTo(V v){
if(this.V > v) return 1;
if(this.V < v) return -1;
else return 0;
}
}