我的IDE(IntelliJ IDEA的)告诉我,我不得不删除这个括号的选项,如果声明:应该在Java中避免多个if语句,如“if(condition)if(condition)...”吗?
if (objectIsOfTypeFoo) {
if (objectOfTypeFooIsShared) {
// do something with Object of type Foo knowing that it's shared...
} else {
// do something with Object of type Foo knowing that it's not shared...
}
} else if (objectIsOfTypeBar) {
...
}
要成为:
if (objectIsOfTypeFoo) if (objectOfTypeFooIsShared) {
// do something with Object of type Foo knowing that it's shared...
} else {
// do something with Object of type Foo knowing that it's not shared...
} else if (objectIsOfTypeBar) {
...
}
我明白这是有道理的,并它很容易失去缩进,但我担心可读性可能会受到影响。后者看起来更清洁,但是节省的空间是否值得潜在的混淆?
我认为两者之间的性能差异是微不足道的,如果有的话。
作为一个后续问题:是否有限制多少'if(条件)可以适合一条线,或者说它在什么点变得太多?
第一个示例更具可读性,并且不太可能由于丢失大括号而导致问题 - 恕我直言 – MadProgrammer
运行时的性能差异为零,因为两个版本的代码都是相同的。编译时的性能差异是一些额外花括号的花费。所以没有。哦,并忽略IDE:它提供(在我看来)可怕的建议。 – dlev
我从来没有见过IntelliJ推荐过这样的东西。我会检查你的风格设置。 – duffymo