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
开始您的号码


这就是如何将二进制值赋给变量的方法

是的,但我保存了一个加法,我的问题是如何用一个二进制结果得到两个值?加法是一种哈希函数,它是不可逆的,因此从答案中,除非两个值中的一个不可用,否则无法得到值。但如果答案总是唯一的,那么在这种情况下,你可以检查所有可能的加法组合,并将其与你以前从加法中得到的答案进行比较。啊,好的,有可能生成可能的组合吗?还是手动操作?手动是唯一的方法