Java教程

java BigInteger 对权限进行2的权的和计算

本文主要是介绍java BigInteger 对权限进行2的权的和计算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.fh.util;

import java.math.BigInteger;

/**
 * 说明:权限计算帮助类
 * 作者:FH Admin
 * 官网:fhadmin.cn
 */
public class RightsHelper {
    /**
     * 利用BigInteger对权限进行2的权的和计算
     * @param rights int型权限编码数组
     * @return 2的权的和
     */
    public static BigInteger sumRights(int[] rights){
        BigInteger num = new BigInteger("0");
        for(int i=0; i<rights.length; i++){
            num = num.setBit(rights[i]);
        }
        return num;
    }
    /**
     * 利用BigInteger对权限进行2的权的和计算
     * @param rights String型权限编码数组
     * @return 2的权的和
     */
    public static BigInteger sumRights(String[] rights){
        BigInteger num = new BigInteger("0");
        for(int i=0; i<rights.length; i++){
            num = num.setBit(Integer.parseInt(rights[i]));
        }
        return num;
    }
    
    /**
     * 测试是否具有指定编码的权限
     * @param sum
     * @param targetRights
     * @return
     */
    public static boolean testRights(BigInteger sum,int targetRights){
        return sum.testBit(targetRights);
    }
    
    /**
     * 测试是否具有指定编码的权限
     * @param sum
     * @param targetRights
     * @return
     */
    public static boolean testRights(String sum,int targetRights){
        if(Tools.isEmpty(sum))
            return false;
        return testRights(new BigInteger(sum),targetRights);
    }
    
    /**
     * 测试是否具有指定编码的权限
     * @param sum
     * @param targetRights
     * @return
     */
    public static boolean testRights(String sum,String targetRights){
        if(Tools.isEmpty(sum))
            return false;
        return testRights(new BigInteger(sum),targetRights);
    }
    
    /**
     * 测试是否具有指定编码的权限
     * @param sum
     * @param targetRights
     * @return
     */
    public static boolean testRights(BigInteger sum,String targetRights){
        return testRights(sum,Integer.parseInt(targetRights));
    }
}
 

 ------------------------------------------------------------------自定义表单
28. 定义模版:拖拽左侧表单元素到右侧区域,编辑表单元素,保存表单模版
29. 表单模版:编辑维护表单模版,复制表单模版,修改模版类型,预览表单模版
30. 我的表单:选择表单模版,编辑表单规则,是否上传图片、附件、开启富文本、挂靠流程开关等
31. 表单数据:从我的表单进去可增删改查表单数据,修改表单规则
32. 挂靠记录:记录表单数据和流程实例ID关联记录,可删除

这篇关于java BigInteger 对权限进行2的权的和计算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!