![]() |
1
6
据我所知,这并没有暴露出来。你基本上可以自己重写它-看看Enumset的代码以了解代码-但遗憾的是,没有更好的方法来理解它:( |
![]() |
2
5
我认为这不能用一般的方法来完成。转换为长型非常容易:
我不知道你怎么可能从一个长的回一般地转换成Enumset。我不可能(除了反射)找到枚举的值数组来进行查找。你必须在每个枚举的基础上进行。 我认为串行化是一种方法。只要序列化为long,就更容易受到版本控制错误或重新排列枚举中常量所导致的错误的影响。 |
![]() |
3
2
如jon skeet所述,此信息不公开。但戴夫·雷演示了如何轻松计算。 我做了一个库,使这种转换变得简单多了。它还检查如果使用“long”,实际上不超过64个元素。我必须创建一个新的数据类型,但它可以像位集或枚举集那样使用。注意,这需要Java 8或更新,因为它使用默认实现的接口。 链接如下: http://claude-martin.ch/enumbitset/ 例子:
|
![]() |
4
1
|
![]() |
5
1
如果使用枚举类添加参数,则可以。将枚举集转换为字节的示例:
|
![]() |
6
0
Enumset的(典型的-它不是强制的)实现使用枚举值的序号。你不应该假定序数总是保持不变。因此,如果希望使用序数高效地存储枚举集,还应该存储从枚举名到序数的映射(可能存储为枚举名序列)。 Enumset本身似乎没有很好的序列化形式。它只是从一个枚举中转储。其主体将被转录成一系列整数对象引用,而不是位集。 |
![]() |
7
0
|
|
user29759326 · 如何返回递归函数中的最后一个值? 3 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 3 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 3 月前 |
![]() |
rudraraj · java中未声明最终变量 4 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 4 月前 |