gpt4 book ai didi

java - 如何在java代码中使用标签?

转载 作者:搜寻专家 更新时间:2023-11-01 01:21:11 24 4
gpt4 key购买 nike

我在 Java 代码的标签中使用 break 语句时出错。这显示了 undefined label。这样写代码是错误的。请协助我正确使用它。提前致谢。

 while (true)
{
label149: if (!localIterator2.hasNext());
while (true)
{
i++;
break;
HashMap localHashMap2 = (HashMap)localIterator2.next();
if (!((String)localHashMap1.get("name")).equalsIgnoreCase((String)localHashMap2.get("emotion")))
break label149;
if (!((String)localHashMap2.get("IS_paid")).equalsIgnoreCase("1"))
break label246;
((HashMap)Saved.this.keynamedata.get(i)).put("is_paid", "1");
}
label246: ((HashMap)Saved.this.keynamedata.get(i)).put("is_paid", "0");
}

最佳答案

带有标签的 breakgoto 语句不同。 Java 没有 goto 语句。

标签标记其后的语句。您可以使用它来跳出该语句,并且只能跳出该语句。流程控制将始终转移到标记语句的末尾。

那么你这里有什么?

        label149: if (!localIterator2.hasNext());

因为 if 后面的分号,这实际上是整个标记语句。所以你的 break label149 根本不在它的范围内。如果您没有该分号,if block 将包含 while,然后 break label149 将起作用。但是控制权将转移到 while block 结束后的行。

       label246: ((HashMap)Saved.this.keynamedata.get(i)).put("is_paid", "0");

这是label246标记的语句。同样,break label246 不在其中,因此不在其范围内,您无法从不在其中的语句中跳出。

关于java - 如何在java代码中使用标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28381212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com