适用时间
场景1.对用户所有列表人群进行群发消息,但是要确定其发送人群,例如:男,女,未定义,群组;但是接受参数只能是一个时。
场景2.用户登录对其权限进行判断时;
具体使用
一般用枚举或常量对其权限或状态进行初始化。
以发送人群为例
public enum SengType {
MAN(1),WOMAN(2),UNDEFINE(4),CHAT(8);
private int value;
public int getValue() {
return value;
}
SengType(int value) {
this.value = value;
}
}
int type=0;//待发送人群类型
1.权限的分配(或运算)
type = type | SendType.MAN.getValue()
2、权限的删除(求补、与运算)
type = type & (~SendType.MAN.getValue())
3、权限的验证(与运算)
(type &SendType.MAN.getValue()) ==SendType.MAN.getValue()
写在最后
二进制对权限进行控制方便简单快捷,但是许多博客讲解有很多问题,谢谢下面的参考链接博客。
巧妙运用二进制验证权限:参考链接