为什么建议不使用内联条件?

时间:2013-09-07 16:40:29

标签: java conditional ternary-operator

我注意到样式检查器在实现内联条件时会给出警告:“不要使用内联条件”。为什么呢?

2 个答案:

答案 0 :(得分:8)

我认为这是因为代码可读性。

考虑这两个代码,其中a是一个数字(intfloat或其他):

<强>#1

if(a < 0) {
    a = 0;
} else if(a < 10) {
    a = 10;
} else if(a < 20) {
    a = 20;
} else if(a < 30) {
    a = 30;
}

<强>#2

a = a < 0 ? 0 : a < 10 ? 10 : a < 20 ? 20 : a < 30 ? 30 : a;

他们完全一样,但第一个更清楚。

答案 1 :(得分:2)

需要花费精力来理解内联条件中的内容。如果只有一个条件,则最好使用条件运算符。对于更多这样的条件,if-else-if由于易于阅读而构造更好。