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

Lyd*_*Lyd 2 java conditional ternary-operator

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

Bac*_*ash 9

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

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

#1

if(a < 0) {
    a = 0;
} else if(a < 10) {
    a = 10;
} else if(a < 20) {
    a = 20;
} else if(a < 30) {
    a = 30;
}
Run Code Online (Sandbox Code Playgroud)

#2

a = a < 0 ? 0 : a < 10 ? 10 : a < 20 ? 20 : a < 30 ? 30 : a;
Run Code Online (Sandbox Code Playgroud)

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