_L1 : _L2: 是什么意思?

What _L1 : _L2: mean?

你好,我已经反编译了一个 android 项目,但我不知道这部分是什么意思 请帮助示例代码。 _L1 _L2 做什么? 坦克

i = 0;
_L5:
    if (i < AnswerTexts.size()) goto _L2; else goto _L1
_L1:
    j = 0;
_L6:
    if (j < AnswerTexts.size()) goto _L4; else goto _L3
_L3:
    k = 0;
_L7:
    if (k >= SuggestionTexts.size())
    {
        return;
    }
    break MISSING_BLOCK_LABEL_2107;
_L2:
    ((ImageView)AnswerTexts.get(i)).setVisibility(0);
    ((ImageView)AnswerBackground.get(i)).setVisibility(0);
    i++;
    setVisible()
      goto _L5
_L4: and so on ...

这些_L1:_L2:等表示标签。它们本质上是代码中的标记,运行时可能会决定在这些标记处转移其执行。例如,循环可以定义为:

int x = 0
Label1:
if (x < 10) {
    ...
    x++;
    goto Label1
}

这类似于:

for(int x = 0; x < 10; x++) {
    ...
}

在编写代码时,开发人员应避免使用标签,因为它们会使您的代码行为不稳定或不可预测。