Java反编译得到重复的局部变量
Java decompiling get duplicated local variables
在Intellij IDEA
的反编译代码中,我看到如下代码:
public void someMethod(Map params) {
HashMap params;
if (null == params) {
params = new HashMap();
} else {
// ...
}
}
由于 2 个原因,此代码无法编译:
params
在主体中重新声明,因此它是重复的局部变量。
- 即使解决了上述问题,第二个
params
仍未初始化。
问题
- 为什么要这样反编译?
IntelliJ 使用自己的反编译器 "Fernflower"。这是一个GitHub.
它不是最好的反编译器,但它是一个活的,所以有时它有可能成为最好的。
同时,您可以使用 Eclipse ;)。确实有强大的反编译器plugin,支持多种不同的反编译器。
您也可以使用 Jar Explorer。这是一个独立的工具,具有三个反编译器,包括 Fernflower。
在Intellij IDEA
的反编译代码中,我看到如下代码:
public void someMethod(Map params) {
HashMap params;
if (null == params) {
params = new HashMap();
} else {
// ...
}
}
由于 2 个原因,此代码无法编译:
params
在主体中重新声明,因此它是重复的局部变量。- 即使解决了上述问题,第二个
params
仍未初始化。
问题
- 为什么要这样反编译?
IntelliJ 使用自己的反编译器 "Fernflower"。这是一个GitHub.
它不是最好的反编译器,但它是一个活的,所以有时它有可能成为最好的。
同时,您可以使用 Eclipse ;)。确实有强大的反编译器plugin,支持多种不同的反编译器。
您也可以使用 Jar Explorer。这是一个独立的工具,具有三个反编译器,包括 Fernflower。