使用for循环返回的方法缺少return语句错误

Mar*_*ark 1 java string for-loop return

我有一个方法返回一个平面的LinkedList中的所有人的名字.

然而,即使方法中有一个return语句,我仍然被告知有一个缺少的return语句.

如何在不添加其他退货声明的情况下解决这个问题?为什么它不被视为有效?是否将另一个return语句更改为返回的内容?

任何反馈都非常感谢.

public String check() {

        for (Person person: passengers)
            {
                return person.getName();
            }    
    }
Run Code Online (Sandbox Code Playgroud)

Jea*_*ard 5

因为if passengers为空,所以永远不会输入循环.

如果永远不输入循环,假设其中只有return语句,我们就有一个严重的问题,你不觉得吗?这就像是根本没有return.

您需要return在循环外添加另一个语句.

另请注意,return将自动退出该方法,因此我认为这不是您想要的问题所在的句子:

我有一个方法返回一个平面的LinkedList中的所有人的名字.

编辑

根据您的编辑,这里如何返回包含所有名称的列表:

return passengers.
          .stream()
          .map(Person::getName)
          .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

请注意,您需要将方法的签名更改为

public List<String> check()
Run Code Online (Sandbox Code Playgroud)