Как упоминал Джон Скит, эта информация не раскрывается. Но Дейв Рэй показал, как это легко вычислить.
Я сделал библиотеку, которая делает такие преобразования намного проще. Он также проверяет, что на самом деле не более 64 элементов, если вы используете «long». Мне пришлось создать новый тип данных, но он может быть использован как BitSet или EnumSet. Обратите внимание, что для этого требуется Java 8 или новее, поскольку для этого используются интерфейсы с реализациями по умолчанию.
Вот ссылка: http://claude -martin.ch / enumbitset /
Пример:
static enum MyEnum implements EnumBitSetHelper<MyEnum> { A, B, C }
public static void main(final String[] args) {
final EnumBitSet<MyEnum> set = EnumBitSet.of(MyEnum.A, MyEnum.C);
long bitmask = set.toLong(); // = 3
}