わかりました、このループがどのように機能するかを本当に理解していません。私を最も悩ませている論理ステートメントです。permissions は、127 を割り当てた定数値です。Roles.java には、Web サイトの特定のページにアクセスできるロールを決定する定数値が含まれています。問題は、ビットマスクが 1 に等しい場合に論理ステートメントが true を返すことです。これはどのように可能ですか?
for (int bitMask = 1; bitMask <= 0x8000; bitMask *= 2)
{
boolean hasBit = (permissions & bitMask) != 0;
if (hasBit)
{
String role = Roles.getRole(bitMask);
if (role != null)
{
//Do stuff
}
else
{
//No role assigned
}
}