解决redis 的 bitmap 转换成 Java 的 bitset 采用 BitSet.valueOf 方法获取出来的结果跟存储进去的不一样的问题

解决redis 的 bitmap 转换成 Java 的 bitset 采用 BitSet.valueOf 方法获取出来的结果跟存储进去的不一样的问题,第1张

解决redis 的 bitmap 转换成 Java 的 bitset 采用 BitSet.valueOf 方法获取出来的结果跟存储进去的不一样的问题
BitSet b = new BitSet();
        if (jedis.get("login:2022-01-11".getBytes()) != null) {
            b = fromByteArrayReverse(jedis.get("login:2022-01-11".getBytes()));
        }
 
    public static BitSet fromByteArrayReverse(final byte[] bytes) {
        final BitSet bits = new BitSet();
        for (int i = 0; i < bytes.length * 8; i++) {
            if ((bytes[i / 8] & (1 << (7 - (i % 8)))) != 0) {
                bits.set(i);
            }
        }
        return bits;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5703588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存