您的位置:首页 > 其它

通过二进制对权限进行控制

2017-07-31 09:03 260 查看

适用时间

场景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()

写在最后

二进制对权限进行控制方便简单快捷,但是许多博客讲解有很多问题,谢谢下面的参考链接博客。

巧妙运用二进制验证权限:参考链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: