zoukankan      html  css  js  c++  java
  • 一个封存Id与状态对应键值的神器,BigInteger的setBit和testBit用法实例

    1,首先描述一下应用场景

    比如,我们要对菜单做权限,控制不同角色菜单显示与不显示,角色为经理时,我们需要菜单id为 4,7,13,24的菜单显示,别的菜单不显示。

    就是说,这时候我们要把4,7,13,24这四个菜单的状态设为1,其他菜单不显示,即状态为0

    我们想要把把这四个状态为1的菜单组合信息封存到一个String类型的字段里,怎么办呢,这就要用到我们的神器BigInteger

    BigInteger bigInteger=new BigInteger("0");
    BigInteger setBit = bigInteger.setBit(4);
    setBit=setBit.setBit(7);
    setBit=setBit.setBit(13);
    setBit=setBit.setBit(24);
     System.out.println(setBit);

    打印:16785552

    这是封装,下面取值

    System.out.println(setBit.testBit(4));
    System.out.println(setBit.testBit(7));
    System.out.println(setBit.testBit(13));
    System.out.println(setBit.testBit(24));

    结果:

    true
    true
    true
    true

    如果是别的

    System.out.println(setBit.testBit(23));

    false

  • 相关阅读:
    Java 8特性
    11成最多体积的容器
    MySQL数据库理解
    java范型
    ArrayList源码分析
    1.面试题
    jvm简单了解
    121. 买卖股票的最佳时机
    有效的括号
    java如何判断一个字符串中某个字符有几个
  • 原文地址:https://www.cnblogs.com/zhaoblog/p/7207163.html
Copyright © 2011-2022 走看看