首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Continue标签是否已弃用?

Java Continue标签是否已弃用?
EN

Stack Overflow用户
提问于 2011-07-11 20:43:01
回答 6查看 22.8K关注 0票数 19

我有两个fors,在嵌套for之后,我有一些代码,如果嵌套for中的条件为真,我就不想执行这些代码。如果我使用break,代码将会执行,因此(正如我在SCJP中所学),我使用continue label;作为外部窗体。这是Java的弃用用法吗?老式的?有人建议使用递归或其他方法,但对我来说,这是非常正常的,简单的,最新的,完美的方法。

代码语言:javascript
复制
here:
for (bla bla) {
   for (bla bla) {
      if (whatever) continue here;
   }
// some code I don't want to execute if whatever is true
}

谢谢

编辑:

如果我将我的问题重新表述为:如何在多个嵌套的fors之间“导航”?这种方法是“推荐”的方式吗?因为这是南华早报的书上说的。如果不是..。这是否意味着Katherine SierraBert Bates是错误的?

Edited2:

为什么不鼓励使用continue label;?我想要一个OOP或Java的概念或内部工作原理的答案,可能会出什么问题……

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-07-11 20:46:53

答案是:视情况而定。如果你发现自己经常使用continue,那么这可能是你的代码需要重构的信号。然而,在您给出的场景中,它似乎是一个可以使用它的地方。

票数 8
EN

Stack Overflow用户

发布于 2011-07-11 20:50:09

我会重构以使其更具可读性。

示例:

代码语言:javascript
复制
if (!checkWhatever()) {
    // some code I don't want to execute if whatever is true
}
boolean checkWhatever() {
    for (bla bla) {
       for (bla bla) {
          if (whatever) return false;
       }
    }
    return true;
}
票数 8
EN

Stack Overflow用户

发布于 2011-07-11 20:46:10

我会说这是令人沮丧的。在替代方案更复杂或更容易出错的地方,它仍然有有效的用途(即不是一种改进)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6650239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档