BigDecimalについて話すとき、Javaコンパイラは1による乗算を削除しますか?
私はこれに似たものに立っています:
BigDecimal bd = getBigDecimal();//get arbitrary bigDecimal, could be anyone.
bd = bd.multiply(new BigDecimal(getOneTwoOrThree());
getOneTwoOrThreeメソッドが次のように宣言されている場合:
/*
* Always returns Integers 1, 2 or 3.
*/
Integer getOneTwoOrThree(){
//some code
}
だから基本的に。
1を返す場合getOneTwoOrThree()
、コンパイラは乗算を実行しますか?それとも命令を無視しますか?
これは実存的な疑問ですが、私はある程度初期段階にあると思います-最適化。