我使用.jar
反编译了jd-gui
文件并检查了代码,发现它不同于原始的.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字节代码语句,就不可能通过反编译来获得原始代码。但是,您获得的等效版本执行与原始版本完全相同的操作。