【发布时间】:2014-02-17 19:36:30
【问题描述】:
“goto”中出现语法错误,并出现另一个错误(_L 无法解析为变量)。我想保留“goto”,但是如何更正代码?
代码:
public static ArrayList getTemplateList(Context context) {
XArraySharedObject xarraysharedobject = getArraySharedObject(context);
if (xarraysharedobject.size() != 0) {
goto _L2;
} else {
goto _L1
}
_L1:
int i = 0;
_L5:
if (i < DEFAULT_TEMPLATES.length) goto _L3; else goto _L2
_L2:
return xarraysharedobject.getArrayList();
_L3:
xarraysharedobject.add(DEFAULT_TEMPLATES[i]);
i++;
if (true) goto _L5; else goto _L4
_L4:
}
【问题讨论】:
-
是什么让您想到可以在 Java 代码中使用“goto”?
-
获得更好的反编译器。或者了解字节码操作的实际含义。这是非常基本的东西。
-
实际上,这里有某种 for、do 或 while 循环。盯着代码几分钟会发现是哪一个。一旦你把剩下的 _L# 片段整理出来,就可以插入内联。
标签: java android eclipse arraylist jvm