【发布时间】:2010-05-19 20:02:58
【问题描述】:
Java 编译器是否优化这样的语句
if (a == true) {
if (b == true) {
if (c == true) {
if(d == true) {
//code to process stands here
}
}
}
}
到
if (a == true && b==true && c==true && d == true)
这是我的第一个问题:两者都采用完全相同的“CPU 周期”还是第一个变体“更慢”。
我的第二个问题是,如果被认为是糟糕的编程风格,那么第一个带有级联的变体是否如此冗长?
(我喜欢第一个变体,因为我可以更好地对我的表达式进行逻辑分组并更好地对其进行注释(我的 if 语句比示例中的更复杂),但这可能是糟糕的编程风格?)甚至更慢,这就是我的原因问...
谢谢 延斯
【问题讨论】:
-
不要与布尔常量
true/false等比较stackoverflow.com/questions/2661110/… -
感谢您的有趣回答。我很高兴,我学到了一些新东西;-)
-
你应该学会使用javap。
标签: java optimization