【发布时间】:2022-04-12 01:26:16
【问题描述】:
作为我的应用程序的一部分,数据库将“徽章”存储在数据库中用户的记录中。我使用按位运算符(据我所知)没有两个加法可以有相同的解决方案。以下是值:
enum Badge {
SUPPORTER(1),
ALPHA(1 << 1),
BETA_OWNER(1 << 2),
BOOSTER(1 << 3),
ONE_MONTH(1 << 4),
THREE_MONTH(1 << 5),
SIX_MONTH(1 << 6),
ONE_YEAR(1 << 7),
TWO_YEAR(1 << 8),
;
public int value;
public int resolve() {
return value;
}
Badge(int i) {
value = i;
}
}
存储它们的方法很简单,只需将与用户对应的每个徽章的值相加即可。然而,解码这个值更加棘手。
我将如何将数据库中的值解码为我可以操作的徽章列表?
标签: java math bitwise-operators