Java 如何将二进制与枚举一起使用?
我想使用二进制保存一个用户的参数,我有一个枚举:Java 如何将二进制与枚举一起使用?,java,enums,binary,Java,Enums,Binary,我想使用二进制保存一个用户的参数,我有一个枚举: public enum Test { TEST1, (= 00000001) TEST2, (= 00000010) TEST3, (= 00000011) TEST4; (= 00000100) } 当用户离开时,使用二进制加法(例如00000001+00000100=00000101)。但是,当用户重新加入并尝试获取Test1和Test2时,它不起作用,我尝试了二进制操作,但没有得到预期的结果。我不知道您
public enum Test {
TEST1, (= 00000001)
TEST2, (= 00000010)
TEST3, (= 00000011)
TEST4; (= 00000100)
}
当用户离开时,使用二进制加法(例如
00000001
+00000100
=<代码>00000101代码>)。但是,当用户重新加入并尝试获取Test1
和Test2
时,它不起作用,我尝试了二进制操作,但没有得到预期的结果。我不知道您想用这种枚举做什么,但您可以:
public enum Test {
TEST1(0b00000001),
TEST2(0b00000010),
TEST3(0b00000011),
TEST4(0b00000100);
private final int value;
private Test(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
您可以使用<代码> GETValue>>()/Cult>方法获得返回值,并且可以根据您的要求更改<代码>值< /代码>的数据类型。p>
如果它与给定代码中的相同,则应使用byte
0b0000001
以
0b
开始您的号码
这就是如何将二进制值赋给变量的方法是的,但我保存了一个加法,我的问题是如何用一个二进制结果得到两个值?加法是一种哈希函数,它是不可逆的,因此从答案中,除非两个值中的一个不可用,否则无法得到值。但如果答案总是唯一的,那么在这种情况下,你可以检查所有可能的加法组合,并将其与你以前从加法中得到的答案进行比较。啊,好的,有可能生成可能的组合吗?还是手动操作?手动是唯一的方法