在第二个循环中继续第一个循环

时间:2018-02-23 09:40:06

标签: java

想知道是否有可能在循环中继续循环。

for(TestObject object : testObjects)
{
    for(int i = 0; i < args.length; i++)
    {
        if(!object.getArgs[i].equalsIgnoreCase(args[i]))
        // wondering if it's possible to continue to the next test object here
    }
}

是的我可以使用这样的布尔值,但只是想知道它是否可能以其他方式

for(TestObject object : testObjects)
{
    boolean error = false;
    for(int i = 0; i < args.length; i++)
    {
        if(!object.getArgs[i].equalsIgnoreCase(args[i]))
            error = true;
    }
    if(error)
        continue;
}

3 个答案:

答案 0 :(得分:3)

是的,您可以使用带标记的continue向特定循环发送继续指令。见https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html

outer:
for (TestObject object : testObjects) {
    for (int i = 0; i < args.length; i++) {
        if (!object.getArgs[i].equalsIgnoreCase(args[i])) {
            continue outer;
        }
    }
}

答案 1 :(得分:2)

使用break

break做了什么?

  

当在循环内遇到break语句时,循环立即终止,程序控制在循环后的下一个语句处重新开始。

 for(TestObject object : testObjects)
{
    for(int i = 0; i < args.length; i++)
    {
        if(!object.getArgs[i].equalsIgnoreCase(args[i]))              
          break;        
    }
}

使用Continue statement

     outerloop:
     for(TestObject object : testObjects)
    {
        for(int i = 0; i < args.length; i++)
        {
            if(!object.getArgs[i].equalsIgnoreCase(args[i]))              
              continue outerloop;        
        }
    }

答案 2 :(得分:0)

您可以使用标签:

outerloop:
for(TestObject object : testObjects)
{
    for(int i = 0; i < args.length; i++)
    {
        if(!object.getArgs[i].equalsIgnoreCase(args[i]))
            continue outerloop;
    }

}

我不确定这是否是你想要的逻辑。