在谈论 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
}
所以,基本上。
如果getOneTwoOrThree()
返回 1,编译器会执行乘法吗?或者它会没有指令吗?
这有点存在疑问,但我想我在某种程度上处于早期优化阶段。