java实现位运算
文章目录
是这样,打算实现位运算的功能,代码和mapper都要改,这里先记录下java部分。
/*
* 位运算工具
*/
@Slf4j
public class BitUtils {
public static List qualificationList = new ArrayList();
static{
qualificationList.add(0); // 1
qualificationList.add(1); // 2
qualificationList.add(2); // 4
qualificationList.add(3); // 8
qualificationList.add(4); // 16
}
public static void main(String[] args) {
Integer[] queryArr={1,3};
List<Integer> queryList = Arrays.asList(queryArr);
Integer qualificationMask=(2<<(qualificationList.size()-1))-1; // 掩码 全部都置1
log.info("qualificationMask={}",qualificationMask);
Integer dbQuery=0;
// 传给数据库的入参需要转换为10进制
for (int i = 0; i < queryList.size(); i++) {
dbQuery=dbQuery+(1<<queryList.get(i));
}
log.info("dbQuery={}",dbQuery);
Integer dbResult=0;
// 十进制 转换为2进制逗号分隔
String binString = Integer.toString(dbResult, 2);
log.info("binString={}",binString);
char[] chars = binString.toCharArray();
List<Integer> frontList = Arrays.asList(queryArr);
// 只能要为1的
for (int i = 0; i < chars.length; i++) {
if(1==chars[i]){
frontList.add(i);
}
}
log.info("frontList={}", JSON.toJSONString(frontList));
}
}
原文地址:https://blog.csdn.net/enthan809882/article/details/145078758
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!