たとえば、通知には次のフラグがあります。
public static final int FLAG_AUTO_CANCEL = 0x00000010;
これは数値 16 の 16 進数です。値を持つ他のフラグがあります。
0x00000020
0x00000040
0x00000080
毎回、2 のべき乗で増加します。これを 2 進数に変換すると、次のようになります。
00010000
00100000
01000000
10000000
したがって、ビットごとの演算子を使用して、どのフラグが存在するかなどを判断できます。これは、各フラグに含まれる 1 は 1 つだけであり、それらはすべて異なる場所にあるためです。
質問:
これはすべて完全に理にかなっていますが、使用しないのはなぜbooleans
ですか? これは単なる文体的なものですか、それともメモリや効率の利点はありますか?
編集:
それらを組み合わせることで、多くの情報を単一の に保存できることを理解していますint
。これは、大量のパラメーターを渡す代わりに、単一のブール型値を多数渡すことができるようにするためだけに使用されますか? それを矮小化するつもりはありません。非常に便利ですが、他に利点はありますか?int