不兼容的类型:int不能转换为T

时间:2020-09-23 01:57:27

标签: java generics

我收到此错误,这是必要的代码。假设此处的方法无法正常工作。任何帮助都是极好的。 (我在Ubuntu btw中对文本文件进行编码)

以下是错误消息:(编译后)

BinarySearchTree.java:132:错误:不兼容的类型:int无法转换为T 插入(y); ^ 其中T是类型变量: T扩展了Comparable <?在BinarySearchTree类中声明的super T> 注意:一些消息已经简化。用-Xdiags:verbose重新编译以获取完整输出 1个错误

详细错误消息:

BinarySearchTree.java:132:错误:找不到适合insert(int)的方法 插入(y); ^ 方法BinarySearchTree.insert(T)不适用 (参数不匹配; int不能转换为T) 方法BinarySearchTree.insert(T,BinaryNode)不适用 (实际和正式论点列表的长度不同) 其中T是类型变量: T扩展了Comparable <?在BinarySearchTree类中声明的super T> 1个错误

这是我的代码:

[0,0,0,0,0,0,0,0]

1 个答案:

答案 0 :(得分:0)

您有一个通用参数,因此在读取CSV时在逻辑上正确创建一个新树。

这也意味着insertList(...)应该变成静态的,现在像 BinarySearchTree<Integer> tree = BinarySearchTree.insertList(...)

代码如下:

    public static void insertList(String csv)
    {
        String[] inputValues = csv.split(",") ; // Numbers are seperated by comma as instructed
        BinarySearchTree<Integer> tree = new BinarySearchTree<>();
        for (String x : inputValues)
        {
            int y = Integer.parseInt(x);
            tree.insert(y);
        }
    }
相关问题