当前位置: 首页 > 知识库问答 >
问题:

缺少return语句[重复]

凌志学
2023-03-14

我一直得到一个丢失的返回语句错误,但我不知道在哪里。每次跟随代码,我都感觉到至少有一个if语句提供了return语句。

代码:

public User[] getUsersContaining(String query) {
   User[]nameSearch = new User[this.capacity];

   if(nameSearch == null)
        return null;
   for (int i=0; i<this.capacity; i++){
       if(this.array[i].getName().contains(query)){
        nameSearch[i]=this.array[i];
        bubbleSort date2 = new bubbleSort();
        date2.bubblesort(nameSearch);
        return nameSearch;
       }
   }
}

共有1个答案

柯奕
2023-03-14

声明返回类型的方法必须为该方法流的每个可能分支声明一个返回语句。这意味着基本上在您的方法中可能存在一个代码流,该代码流不会在返回语句中结束(提示:如果您的if语句每次都在循环中返回false会发生什么?最终循环将结束,并且不会返回任何内容。)

您可以在方法的底部放置一个catch-all return语句,执行类似返回null的操作,或者甚至抛出一个exception,这将允许您不“返回任何东西”

 类似资料:
  • 我有以下代码 null 我错过了什么?

  • 我真的弄不明白为什么我的代码会导致这个错误,一切看起来都是正确的,以为它总是出现,因为它缺少一个return语句 我试着寻找解决方案,我看到“if”后面的“while”是一个解决方案,但由于我需要多个数字,我不能使用while,而必须使用“what if”。

  • 我不断地得到缺少的return语句并且在解析时到达文件的结尾,然而我已经有了return语句并且我的代码正确地关闭了括号。请帮忙,谢谢

  • 关于或语句中使用的return语句,我有一个问题。正如您在下面的方法中所看到的,希望I一个字符串值。问题是,如果在语句块中使用语句,编译器将返回错误。 当然,我可以将方法头更改为,并使用而不是。但这是正确的做法吗?我是不是漏掉了什么? 任何帮助都是非常感谢的。

  • 我得到的错误是“缺少return语句”,代码如下: 有人能帮帮我吗?多谢.