小编sre*_*ish的帖子

Java泛型 - 从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;
    }
}
Run Code Online (Sandbox Code Playgroud)

插入方法不完整.但是,我在'root = newNode;'上收到以下编译错误 if块中的行:

Type mismatch: cannot convert from BSTNode<T> to BSTNode<T>
Run Code Online (Sandbox Code Playgroud)

我无法绕过这个.它们是相同的通用类型.为什么编译器会抱怨?

我在Eclipse Mars中使用JDK 8.

java generics

4
推荐指数
1
解决办法
183
查看次数

标签 统计

generics ×1

java ×1