不谈源码,聊聊位运算的实际应用

位运算在业务场景中的应用优化

位运算是java中比较基础的知识,位运算的计算速度很快,jdk中不少源码都是使用位运算(例如ArrayList,HashMap)

但是在日常开发的过程中,我们很少会使用位运算。相比较它的计算速度的优点,它可读性不高的”缺点“似乎对于普通的业务开发来说更加突出。

我们更加乐意直接使用 +,-,*,/这些直接的运算符。

本文将给大家介绍一种位运算在业务中的应用场景,希望能给大家带来帮助,如有不对之处,欢迎指正。

本位不对位运算的基础做展开介绍,如果不熟悉位运算的基础概念的,请先自行google了解。

一、常规业务打标思路

日常业务开发的过程中,经常会有对业务模型打标 (true/false) 的需求。

例如:

true表示男生,false表示女生

true表示参与活动优惠,false表示无法参与活动优惠

true表示超级管理员,false表示普通用户

.....

一般情况下针对这种需求,我们通常会使用一个独立的字段去表示Domain的状态。随着业务的发展,需要打标的逻辑越来越多。对应到Domain/表结构中标识的字段也会不断的上升。

@Data
public class User {
    private Long userId;
    private String userName;
    private boolean canLogin;
    private boolean isMale;
    private boolean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值