业务逻辑中 记id列表的高级写法

来源:互联网 发布:转移概率矩阵怎么计算 编辑:程序博客网 时间:2024/05/18 00:39

列入有一组礼包  都有个唯一值  id

需要记录已经领取过得礼包id

一般都会用数组 来存一组id来记录领取过哪些id的礼包

而下面的方法只需要存一个long型的值  不过前提是id必须大于1和小于60

思路如下:

long giftId = userVo.getGiftId()   //long型的id

int id = request.getGiftId ; //需要领取的id

if(id<1 || id> 60){ //前提id必须大于1和小于60
return;

}

long id_value = 1L << (id-1);

if((giftId & id_value) == id_value) { //已经领取过奖励

return;

}

//发奖励逻辑....

userVo.setGIftId(giftId  + id_value);


0 0
原创粉丝点击