为什么我的方法中的return语句不想返回字符串?

时间:2019-05-09 07:50:06

标签: java string return

我是Java的新手,请耐心等待。 我有这种方法,其中返回语句不起作用,因为它不能将对象更改为字符串。我尝试了一些在互联网上找不到的东西。

private BSTNode find(String courseCode) {
        BSTNode current = root;

        if(current.getCourseCode().compareTo(courseCode)<0){
            current = current.left;
        }else if (current.getCourseCode().compareTo(courseCode)>0){
            current = current.right;
        }

        //return new BSTNode(current.getCourseCode(), current.getCourseName(), current.getCredits());  //Mottagaren av anropet kan inte konvertera till sträng. Varför?
        return current.getCourseName().toString();
    }

有人看到我在做什么错吗?

2 个答案:

答案 0 :(得分:2)

您的函数应返回BSTNode而不是字符串。如果要返回字符串,请更改 private BSTNode find(String courseCode)private String find(String courseCode)。否则,您应该只返回current

您不能仅通过在对象上调用.toString来更改函数的返回类型。返回类型是由方法声明而不是实际返回的值定义的。

答案 1 :(得分:0)

您的函数正在返回类型BSTNode,但是您正在尝试返回字符串。

将第一行private BSTNode find(String courseCode) {替换为private String find(String courseCode) {