相关疑难解决方法(0)

一个函数应该只有一个return语句吗?

是否有充分的理由说明为什么在函数中只有一个return语句是更好的做法?

或者,一旦逻辑正确就可以从函数返回,这意味着函数中可能有很多返回语句?

language-agnostic coding-style

781
推荐指数
28
解决办法
23万
查看次数

相应的then子句不能正常完成

给出表单中的简单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意味着什么?这个警告试图保护我的问题是什么?

java if-statement

5
推荐指数
1
解决办法
528
查看次数