2 smart 210 smart_210_ 于 2016.04.07 09:24 提问

JAVA表达式的一些问题

求教大神,下面一句代码是啥意思啊,主要是那个“:”不懂何意。

  setFlags(clickable ? CLICKABLE : 0, CLICKABLE);

4个回答

qq423399099
qq423399099   Ds   Rxr 2016.04.07 09:55
已采纳

这个是JAVA的三目运算符。三目运算符 (表达式1)? (表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
clickable如果为真,则第一个参数就为CLICKABLE ,如果clickable为假,第一个参数为0

chenhchen1994
chenhchen1994   2016.04.07 09:25

判断clickable 与CLICKABLE 是否相等,相等取0,不相等取CLICKABLE

chen956
chen956   2016.04.07 09:54

这句话“clickable ? CLICKABLE : 0 ”表示 判断clickable是否为true,进而得出不同结果(:的两侧)。如果是true,则结果是冒号左侧的CLICKABLE,那么 setFlags函数传入的参数是: setFlags(CLICKABLE,CLICKABLE);如果是false,则结果是冒号右侧的0,那么 setFlags函数传入的参数是: setFlags(0,CLICKABLE)。
clickable ? CLICKABLE : 0 可以解释为
if(clickable)
value = CLICKABLE;
else
value = 0;

xionglangs
xionglangs   Rxr 2016.04.07 13:41

clickable ? CLICKABLE : 0这个是三目运算符,前面是个boolean值,如果为true,取值就是CLICKABLE,如果是false,取值就是0;可以看下三目运算符的介绍http://baike.baidu.com/link?url=iN-adWoVRlKWnLzuLPlPA5kMlIOwSgc40U-yzr9zOy3y5EsFrNKxKibyXq393rTMSufW3_DhR3z-MgUFo-JhDa。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!