我使用jd-gui
反编译了一个.jar
文件并检查了代码,发现它与原始.java
文件不同。
原始代码
if ( total != 0 ) { result[ i ] = bdResult.multiply( bdItem ).divide( bdTotal, 0, RoundingMode.DOWN ).setScale( 0, RoundingMode.DOWN ).intValue(); }
反编译代码
if (total == 0) continue; result[i] = bdResult.multiply(bdItem).divide(bdTotal, 0, RoundingMode.DOWN).setScale(0, RoundingMode.DOWN).intValue();
为什么会发生这种情况?
此外,反编译的代码似乎有语法错误(大括号在哪里?)
最佳答案
仅仅通过反编译是不可能得到原始代码的,因为不同的代码可能会导致相同的java字节码语句。但是,您将获得一个等效版本,它执行与原始版本完全相同的操作。
关于java - 反编译后的代码与原始代码不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47011554/