有人能说明我在Grails中使用位运算符的问题吗?

我正在尝试使用带有标志的域类属性,而这是到目前为止我尝试过的-它们都不起作用:

manager.memberOf &= 0x04

manager.memberOf = manager.memberOf & 0x04

manager.memberOf = manager.memberOf.and(0x04)

有任何想法吗?我一无所有...

TIA,
Realm

ps:manager.memberOf为整数类型,默认值为0(零)

ps2:执行任何这些操作后,memberOf仍为零

最佳答案

按位&运算符采用两个参数。如果这些参数中的任何一个为0,则结果将为零。在您的情况下,结果始终为0,因为其中一个参数(manager.memberOf的初始值)为0。

08-16 21:21