public interface FlagAware { /** * 是否有标记位 (先与运算,结果>0) */ default boolean hasMask(Number flag, long mask) { if (flag == null) { return false; } long lv = flag.longValue(); return (lv & mask) > 0; } /** * 设置标记位 (或运算) */ default long setMask(Number flag, long mask) { if (flag == null) { flag = new Long(0); } return (flag.longValue() | mask); } /** * 清除标记位 (先取反,后与运算) */ default long rmMask(Number flag, long mask) { if (flag == null) { return 0L; } return (flag.longValue() & ~mask); } }
JAVA位运算示例
最新推荐文章于 2024-08-16 23:08:28 发布