问题标签 [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.

0 投票
4 回答
3265 浏览

java - 当 A 从 B 继承时从 EnumSet 转换为 Set

0 投票
1 回答
1368 浏览

java - 使用枚举集的泛型类的构造函数问题

我想用java开发一个类。问题是构造函数不起作用

课程是这样的:

我想初始化地图,EnumSet.noneOf(E.class)但构造函数给出了错误。

构造函数错了吗?我可以在没有构造函数的情况下初始化变量映射吗?

public EnumSetPlus<<E extends Enum<E>>> = EnumSet.noneOf(E)在变量上下文中尝试过,但它不起作用。

我也尝试map = EnumSet.noneOf(E.class)过构造函数,但它都不起作用。

我认为这是语法或方法的问题

你可以帮帮我吗?

预先感谢!

0 投票
1 回答
698 浏览

java - 如何使用 EnumSet 在单个字段中组合 2 位?

给定一个编码为 1 个字节的二进制字符串,是否可以将该字节的几个位映射到一个枚举值?
例如:假设我想将我的领域切割成这样:

  • 位 1 和位 2 = 字段 1
  • 位 3 = 字段 2
  • 位 4 = 字段 3
  • 位 5 = 字段 4
  • 其他位未使用

我怎么能把它映射到,说:

我要做的是使用位掩码过滤掉这些枚举值。为此,我做了以下方法:

只要我的枚举字段代表一个位,它就可以正常工作,但我不知道如何将它们组合成一个字段。抱歉,如果这看起来很明显,但这是我第一次在位级别操作数据......

编辑评论:我编辑了字段结构以代表我真正拥有的内容。因此,唯一跨越 1 位的字段是 field1。基于 bit1 和 bit2 的存在,我为 field1 分配了一个权重变量。

这是我现在想出的肮脏的解决方案,但我真的不喜欢所有这些 if 语句。如果有人有更好的解决方案,我很乐意改变它;-)

谢谢 !

0 投票
1 回答
540 浏览

java - 处理实现通用接口的枚举(迭代、反序列化)

我有一个 Android 应用程序,它从 Web 源加载数据并显示它。我将这些源支持的每个 API 方法组织在每个源拆分的枚举常量中。假设 SourceA 提供体育和天气数据,SourceB 提供股票和新闻数据。

每个枚举类也有私有成员来处理服务 API(不同的 API 用于不同的源)

和一个变量ServiceMethod

不,我需要存储用户历史记录,因此我必须对ServiceMethod变量进行序列化和反序列化,并从实现此接口的所有枚举中枚举所有常量。序列化看起来很简单,毫无疑问。

现在我只是手动迭代枚举:

有没有更清洁、更好的方法呢?还是我的方法完全错误?另外,有什么方法可以确保所有人ServiceMethod都有唯一的名称(在所有枚举中)?

0 投票
1 回答
7656 浏览

java - Java - EnumSet.add(enum),抛出 NullPointerException

这是在 Java 中,跨平台并在运行 Ubuntu Oneric 的计算机上进行调试,并安装了 OpenJDK 作为我的运行时。

我有一个 EnumSet 用于在我正在开发的游戏中检查一个类的内部。我有这个来自 logcat 的读数,来自我的构造函数中的大量调试:

不好玩。追踪它,我的问题似乎完全是这一行:

我的意思是那个函数的主体。它从构造函数调用为:

当 NullPointerException 发生时。在 Passability Enum Type 的正文中,我有

因为,从字面上看,整个枚举保存包声明。this.passability 被声明

在类定义的开头,我的印象是 add() 方法是作为 Java 标准中 EnumSet 定义的一部分被继承的。

我是自学成才,但我并不疯狂。要么我有问题,要么有更好的方法来做到这一点。有一些有用的知识的人可以伸出援助之手吗?

0 投票
1 回答
940 浏览

java - 如何在 jsp 中使用 enumset.contains?

我有一个枚举:

我根据某些条件在我的操作类中设置了一个 enumSet。在我的 jsp 上,我只想渲染这个 enumSet 中存在的那些部分。

此构造不起作用:

如何在 jsp 中使用 enumSet.contains(..) ?

0 投票
10 回答
62363 浏览

java - EnumSet 的真正含义是什么?

我有以下示例:

在这段代码中,我可以理解 Enum 创建了一个 Enum 类型的 Sizes。

我的问题是:是largeSizeEnumSet 类型的对象吗?它的真正含义是什么?我真的很想更好地理解它。

0 投票
1 回答
736 浏览

java - 我可以将方法参数限制为仅某些 Enum 成员吗?

有没有办法限制方法只采用枚举的某些成员。假设您列举了军事和入伍军衔。如果我想要一个只能获得军官级别的功能而另一个只能获得入伍级别的功能,我认为在 Java 中没有办法做到这一点,是吗?

0 投票
2 回答
341 浏览

java - 这个位移操作在 Java RegularEnumSet 实现中意味着什么?

RegularEnumSet实现中,有一段代码:

它使用 Long 类型的整数来实现高效的 EnumSet。

值得注意的是, 的右手操作数>>>负数

我已经测试并发现

那么为什么要费心写这种模棱两可的形式呢?

0 投票
1 回答
283 浏览

exception - db4o 枚举集异常

我正在使用具有透明激活/持久性的 db4o 8.0 ......我有一个包含 EnumSet (和其他东西)的类。我实例化,将枚举值添加到集合和存储中。当我在 DB 中搜索时,获取它并尝试激活我得到这个异常的对象:

要将 enumSet 存储到 db4o 中,我使用:

我无法弄清楚问题是什么。有任何想法吗?

编辑:
我不知道在哪里可以询问有关 db4o 的问题。SO 社区似乎对 db4o 不太活跃。这是因为 db4o 不是很受欢迎还是有其他地方可以“支持”?

编辑 2:
我在 versant 的论坛上发现该帖子可能相关但无济于事:http: //community.versant.com/Forums/tabid/98/aft/1046/Default.aspx#3370

我又认出了一件事。没有对 java.util.EnumMap 和 java.util.EnumSet 的内置支持,db4o 将抛出异常,因为没有默认构造函数,并且所有带空参数的构造函数对于这些类都将失败。Db4o.configure().objectClass("java.util.EnumMap").translate(new com.db4o.config.TSerializable()) 当然会解决这个问题。我认为应该支持标准的集合框架。