Int验证

时间:2013-05-21 17:00:03

标签: java bit-manipulation

看看android支持库,我看到了一些我无法理解为什么会这样做的事情:

 /**
 * Simple gravity to string - only supports LEFT and RIGHT for debugging output.
 *
 * @param gravity Absolute gravity value
 * @return LEFT or RIGHT as appropriate, or a hex string
 */
static String gravityToString(int gravity) {
    if ((gravity & Gravity.LEFT) == Gravity.LEFT) {
        return "LEFT";
    }
    if ((gravity & Gravity.RIGHT) == Gravity.RIGHT) {
        return "RIGHT";
    }
    return Integer.toHexString(gravity);
}

请有人解释我。

1 个答案:

答案 0 :(得分:1)

&安培;代表按位AND

示例:

  

1100110& 1100110 = 1100110

在此您传递gravity作为参数。例如,如果您想知道重力是否存在,则将掩码Gravity.LEFT应用于您传递的参数。如果它等于常数,则返回重力遗留。

它对Gravity.RIGHT应用相同的内容,否则如果你不在这两种情况下,它会返回另一个值。