Java反编译得到重复的局部变量

Java decompiling get duplicated local variables

Intellij IDEA的反编译代码中,我看到如下代码:

public void someMethod(Map params)  {
    HashMap params;
    if (null == params) {
        params = new HashMap();
    } else {
        // ...
    }
}

由于 2 个原因,此代码无法编译:


问题

IntelliJ 使用自己的反编译器 "Fernflower"。这是一个GitHub.
它不是最好的反编译器,但它是一个活的,所以有时它有可能成为最好的。
同时,您可以使用 Eclipse ;)。确实有强大的反编译器plugin,支持多种不同的反编译器。
您也可以使用 Jar Explorer。这是一个独立的工具,具有三个反编译器,包括 Fernflower。