当前位置:  开发笔记 > 编程语言 > 正文

Java泛型 - 从T到T的类型不匹配

如何解决《Java泛型-从T到T的类型不匹配》经验,为你挑选了1个好方法。

我试图实现一个基本的二进制搜索树(与问题无关).这就是我所拥有的:

public class BSTNode {
    public T data;
    public BSTNode left;
    public BSTNode right;
}


public class BinarySearchTree {
    private BSTNode root;

    public  BSTNode insert(T item){
        BSTNode newNode = new BSTNode();
        newNode.data = item;

        if(root == null){
            root = newNode;
        }

        return newNode;
    }
}

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

Type mismatch: cannot convert from BSTNode to BSTNode

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

我在Eclipse Mars中使用JDK 8.



1> user2357112 ..:

这是两个具有相同名称的类型参数.一个来自这里:

public class BinarySearchTree

一个来自这里:

public  BSTNode insert
       ^^^

摆脱箭头指向的那个.您已经使该方法采用T与类不同的自己的参数T.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有