-3

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);
}

誰か説明してくれませんか。

4

1 に答える 1

1

& は、ビットごとのANDを表します。

例 :

1100110 & 1100110 = 1100110

ここではgravityas パラメータを渡します。たとえば、重力が残っていることを知りたい場合は、Gravity.LEFT渡したパラメーターにマスクを適用します。定数に等しい場合、重力が残っていることを返します。

Gravity.RIGHTこの両方のケースに当てはまらない場合は、同じことが適用され、別の値が返されます。

于 2013-05-21T17:04:57.673 に答える