Java Continue Label 是否被弃用?

2022-09-02 13:02:44

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

here:
for (bla bla) {
   for (bla bla) {
      if (whatever) continue here;
   }
// some code I don't want to execute if whatever is true
}

谢谢

编辑:
如果我把我的问题改写为:你怎么能在多个嵌套的fors之间“导航”?这种方法将是“推荐”的方式?因为这是它在SCJP书中所说的。如果不是..这是否意味着和错误?Katherine SierraBert Bates

编辑2:
为什么不鼓励?我想要一个OOP或Java的概念或内部工作原理的答案,可能会出错什么。continue label;


答案 1

答案是:视情况而定。如果你发现自己使用了很多,那么这可能表明你的代码需要重构。但是,在您给出的场景中,它似乎是一个使用它的好地方。continue


答案 2

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

例:

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;
}

推荐