怎么读“?”操作者

时间:2015-01-26 18:56:50

标签: java android

我不知道如何阅读此代码。 if / else语句的等效代码是什么?

            leftPanel.getLayoutParams().width = interpolatedTime == 1
                    ? ViewGroup.LayoutParams.WRAP_CONTENT
                    : (int)(targetWidth * interpolatedTime);

1 个答案:

答案 0 :(得分:3)

它被称为ternary operator,完全等同于:

if(interpolatedTime == 1) {
    leftPanel.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
} else {
   leftPanel.getLayoutParams().width = (int)(targetWidth * interpolatedTime);
}

有关Oracle文档,请参阅http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html