问题标签 [enumset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Hibernate 在 Postgresql 中持久化 EnumSet
Effective Java,第 32 项,状态使用 EnumSet 而不是位字段。我还找到了关于该主题的不错的教程。这本书已经出版了一段时间,为什么我没有找到任何关于如何使用 Hibernate 持久化 EnumSet 的帖子?好吧,我实际上找到了这个和另一个,但是它们都很旧,指向相同且更旧的解决方案,不幸的是,这对我没有帮助,也许是因为我缺乏更深入的休眠知识?这是我的代码的摘要:
我尝试过其他注释,例如
有和没有(targetClass = MyOptions.class)
和
并且
但没有运气。
最好将信息存储在my_thing
表的新列中,但如果需要,我也可以为枚举使用单独的表。
java - 由 EnumSet 控制的互斥 Enum
我想用 TagEnum 来描述一个人。MALE 和 FEMALE 是互斥的,年龄的枚举也是如此。
例如,一旦将 MALE 放入 EnumSet,将不会接受 FEMALE。
有这样的EnumSet吗?
==更新==
请注意,性别和年龄都用于描述一个人。如果我有超过 5 个维度,会发生什么?制作 5 个枚举和 5 个单独的引用?
因为我需要一个测试方法来知道是否有人拥有这样的枚举,所以像这样制作 5 个重载方法是多余的:
有没有办法让它更容易?谢谢!
java - 当需要对级别进行分组时,C#中的 EnumSet
在java中我有:
还有一个具有属性的类:
但也有一个 Level 接口将 MyEnum 分组到各个级别:
还使用了 myEnum 上使用的函数,如 clone()、addAll()。我应该如何从 C# 的角度处理这种情况?
java - (反)序列化枚举集
有没有一种简单的方法可以用杰克逊序列化和反序列化枚举集?
这给出了以下 XML:
此 XML 无效,因为存在重复的属性。
我还尝试了以下注释:
但这会产生以下错误:
java - 了解枚举器的枚举集
据我了解,它使用起来会更容易和更清晰,EnumSet
而且它Set
是专门为与枚举器一起使用而设计的。我的问题是我们是否应该考虑在EnumSet
每次需要维护一些枚举器集合时使用。例如,我让他关注枚举:
我需要在方法中使用一些枚举集合:
那么,如果我不关心集合是否已订购,我应该EnumSet<E>
每次都使用它来提高性能吗?
java - 为什么 EnumSet 有许多重载的“of”方法?
在浏览该EnumSet<E>
of
方法时,我看到了方法的多个重载实现of
:
然后是另一个重载方法varargs
当这个可变参数可以处理其他实现时,为什么这个方法会以这种方式重载?这有什么具体原因吗?
我已经阅读了相同的 Javadoc,但找不到任何令人信服的解释。
api - Java:EnumSet.copyOf——还有改进的余地吗?
我需要从一个集合中创建一个EnumSet 。我决定使用EnumSet#copyOf方法。但是,由于此方法的限制:
我需要确保集合不为空。然后代码变为:
enum Color {RED, GREEN, BLUE};
Set<Color> set = ... // get it from somewhere
if (set.isEmpty()) {
return EnumSet.noneOf(Color.class);
else
return EnumSet.copyOf(set);
也许 javac 在确定传递给方法的集合成员的正确类型方面存在真正的限制copyOf
,但我无法克服我必须诉诸上述方法来满足空集合的感觉。这是我的问题:
究竟是什么限制,这里不能接受空集合?
像这样的方法签名
copyOf(Collection<Enum<E>>)
会解决这个问题吗?如果是,它还会产生什么其他问题?
java - 将 EnumSet 转换为整数数组
我有一个 EnumSet 并想将其转换为它的序数值数组。例如:
以及我想要得到的:
java - 为什么 EnumSet 使用 RegularEnumSet 和 JumboEnumSet 用于不同的大小。它如何影响性能?
在探索 Java EnumSet 时,我遇到了两个包私有类,
- 正则枚举集
- 巨型枚举集
从 EnumSet 来源:
此外, RegularEnumSet构造函数看起来像:
而在JumboEnumSet构造函数的情况下是:
所以我的疑问是:
为什么它根据大小使用不同的 EnumSet。它如何影响性能?
JumboEnumSet 使用元素数组背后的逻辑是什么?
java - 将两个 ImmutableEnumSet 与 Guava 联合
我想联合两个ImmutableEnumSets
番石榴。这是我的尝试:
该字段ourColorSet
无法编译,它失败了
工会是如何正确完成的?