日期:2014-05-20  浏览次数:20665 次

请教一下这句话什么意思

      bbits += (b.get(j) ? "1" : "0");

------解决方案--------------------
一个个看(b.get(j) ? "1" : "0")三目运算符,b.get(j)为true时是1,false为0,然后bbits = bbits  + 这个结果。
------解决方案--------------------
引用:
一个个看(b.get(j) ? "1" : "0")三目运算符,b.get(j)为true时是1,false为0,然后bbits = bbits  + 这个结果。

详细
------解决方案--------------------
这个是三元运算, bbits += (b.get(j) ? "1" : "0");b.get(j)返回的值为ture或者false,当返回的是ture则为bbits=bbits+1,false则为bbits=bbits+0。
------解决方案--------------------
b.get(j) ? "1" : "0" 这是一个三目运算符 b.get(j)这个方法的返回值一定是一个布尔值即true or false,如果返回true则表达式 b.get(j) ? "1" : "0" 返回?号后面的 也就是字符串"1" 反之则返回字符串"0"。bbits 应该是个字符串类型的变量使用 += 运算符将返回的"1"或"0"合并到bbits 并重新赋值给bbits