【问题标题】:Return statement function in if conoditionif条件下的return语句函数
【发布时间】:2013-08-04 23:27:36
【问题描述】:

在我的代码中:

if (id.isEmpty() || name.isEmpty()) {
    warlbl.setText("Warning, Empty ID or Name Fields");
    return;
}

idnameString 来自 JTextFields

这里是否需要使用return;

【问题讨论】:

  • return 导致方法返回。你需要返回的方法吗?如果是这样,请使用return
  • 取决于你想做什么,但这样做是否完全没问题。
  • @OliCharlesworth 我认为,在我的代码中,return 会导致再次检查条件。

标签: java if-statement return


【解决方案1】:

return 退出您“进入”的当前方法。

当然,这不是必需的,但如果 id.isEmpty()name.isEmpty(),您可能想退出该方法。所以不,是的。这不是必需的,但您可能想要返回

你可以使用return跳出方法,继续跳过循环或break跳出块。

通常有两种方式:

public void test() {
    if (!statement) {
       // to something if statement is false
    } else {
       //we failed, maybe print error 
    }
}

或:

public void test() {
    if (statement) {
       //we failed, maybe print error 
       return;
    }

    //do something if statment is false
}

但这更多的是一种“风格”。大多数情况下,我更喜欢第二种方式,只是因为它的意大利面更少:P

请记住。如果您的 return 语句是执行的最后一条语句,则它是多余的。

Java 参考:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html

【讨论】:

  • 我认为,在您的第二种方式中,return 会导致再次检查条件,对吗?
  • 在这两个例子中只检查了一次。唯一的区别是此示例中的样式。也许你对第一个例子更熟悉:D
  • 但是再次检查到底是什么意思。 return 只是导致“脱离方法”
  • 是的,现在明白了,所以在你的第二种方式中,当return被执行时,//do something将被执行,对吗?
  • 不完全是在达到 return 时,我们停止执行该方法。所以 //do something 不会再执行了
【解决方案2】:

是的,可以是:

if (...) {
    ...
    return;
}

// nothing at this point will be reached if the if-statement is entered

对比

if (...) {
    ...
}

// code here will still be reached!

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2022-11-17
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    相关资源
    最近更新 更多