-3
我不知道如何閱讀此代碼。 if/else語句的等效代碼是什麼?如何閱讀「?」運營商
leftPanel.getLayoutParams().width = interpolatedTime == 1
? ViewGroup.LayoutParams.WRAP_CONTENT
: (int)(targetWidth * interpolatedTime);
我不知道如何閱讀此代碼。 if/else語句的等效代碼是什麼?如何閱讀「?」運營商
leftPanel.getLayoutParams().width = interpolatedTime == 1
? ViewGroup.LayoutParams.WRAP_CONTENT
: (int)(targetWidth * interpolatedTime);
這就是所謂的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。
請參閱http://en.wikipedia.org/wiki/%3F:#Java – Michael 2015-01-26 18:58:29
您似乎沒有嘗試非常努力地搜索。 – 2015-01-26 18:58:52
簡單地說:'布爾表達式?值如果爲真:值爲假 – Bubletan 2015-01-26 19:00:41