Я пытался реализовать базовое двоичное дерево поиска (не относящееся к вопросу). Это то, что у меня есть:Java generics - несоответствие типов от T до T
public class BSTNode<T> {
public T data;
public BSTNode<T> left;
public BSTNode<T> right;
}
public class BinarySearchTree<T> {
private BSTNode<T> root;
public <T> BSTNode<T> insert(T item){
BSTNode<T> newNode = new BSTNode<T>();
newNode.data = item;
if(root == null){
root = newNode;
}
return newNode;
}
}
Способ вставки не завершен. Но я получаю следующую ошибку компиляции: «root = newNode;» строка в блоке if:
Type mismatch: cannot convert from BSTNode<T> to BSTNode<T>
Я не могу обернуть голову вокруг этого. Они имеют одинаковый общий тип. Зачем компилятор жалуется?
Я использую JDK 8 с Eclipse Mars.
Да, это была проблема. Благодаря! – sreenisatish