java 1.6中的未知结构

时间:2018-02-28 10:13:48

标签: java java-6 legacy-code legacy-app

我正在从事传统项目&我找到了类似的东西:

test:{
        if(1 == 1) {
            System.out.println("Oups");
            break test;
        }
        System.out.println("Hello World");
    }

我谷歌,但似乎没有任何东西与这种结构相匹配。

当然,这部分代码编译&跑...... ????

有人知道那是做什么的吗?

4 个答案:

答案 0 :(得分:0)

test:被称为标签。就像在循环中一样,break跳转到块的末尾。标签用于定义中断跳转到的位置。请注意,范围的开始并不是在你需要它的地方,所以你真的要标记结束而不是要破解的代码的开头。

虽然它有效但标签通常对if语句太混淆,部分原因是它们很少使用,所以我会避免使用它们。如果你可以用标签写一些东西,你通常可以在不使用方法的情况下编写它,或者在这种情况下使用elseif

如果可以,甚至应该避免使用带有环的标签。

自1.0版以来,它一直是Java的一部分,并且在Java 10中仍然受支持。

答案 1 :(得分:0)

它被称为label

它与break一起用于在其他语言中执行与goto类似的操作。

您可以找到更多详细信息here

答案 2 :(得分:0)

跳出标签(transform):

df[,"e"] <- ""
for (col in colnames(df)) {
    idx <- which(is.na(df[,col])
    df[idx, "e"] <- paste(df[idx, "e"], col, sep=", ")
}
df[,"e"] <- ifelse(df[,"e"]!="", paste(df[,"e"], "empty - excluded")

答案 3 :(得分:-2)

正如评论已经说过的,这是一个可以跳转到/跳出的标签。更多信息请访问:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html