是否有充分的理由说明为什么在函数中只有一个return语句是更好的做法?
或者,一旦逻辑正确就可以从函数返回,这意味着函数中可能有很多返回语句?
给出表单中的简单if语句
public static String test(boolean flag) {
if (!flag) {
return "no";
} else {
System.out.println("flag enabled");
}
return "yes";
}
Run Code Online (Sandbox Code Playgroud)
要么
public static String test(final boolean flag)
{
if (flag)
{
System.out.println("flag enabled");
return "yes";
}
else
{
return "no";
}
}
Run Code Online (Sandbox Code Playgroud)
Eclipse给了我警告,强调整个其他块
声明不必要地嵌套在else子句中.相应的then子句不能正常完成
但是,这......
public static String test(final boolean flag)
{
if (flag)
{
System.out.println("flag enabled");
return "yes";
}
return "no";
}
Run Code Online (Sandbox Code Playgroud)
没有发出警告.
这个问题似乎有关系,但我没有在第一个例子的其他地方使用return,否则最终没有.
我知道这只是一个偏好,它可以被关闭.但是,我不喜欢忽视事情只是因为我不明白是什么问题.而且我似乎找不到任何关于为什么Eclipse将其添加为可配置警告的文档.
总而言之,The corresponding then clause does not complete normally
意味着什么?这个警告试图保护我的问题是什么?