我看到很多类似于以下的构造(在android中,因为我在Java中主要使用android)
final WindowManager.LayoutParams paramsWM
...
paramsWM.gravity = Gravity.TOP|Gravity.LEFT;
那么它只是简单地采用两个值的按位OR,还是有更多的东西比眼睛满足?如果它只是按位OR,那么在上面我会以
结束//think math, not java for syntax below
paramsWM.gravity = Gravity.TOP|Gravity.LEFT = 48|3=51;
同样,如果它只是按位,只有当我知道收件人(即paramsWM.gravity
)可以处理添加时,才允许使用此快捷方式:对吗?此外,我可以同样写作
//this is java again
final WindowManager.LayoutParams paramsWM
...
paramsWM.gravity = Gravity.TOP + Gravity.LEFT;
答案 0 :(得分:0)
管道字符只需按位OR,仅此而已。
这是所有按位运算符的一个很好的例子: http://www.tutorialspoint.com/java/java_bitwise_operators_examples.htm
编辑:正如评论中用户PM 77-1所述,如果你不想短路,它也会用在bool表达式中