想知道是否有可能在循环中继续循环。
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;
}
答案 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;
}
}
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;
}
}
我不确定这是否是你想要的逻辑。