问题标签 [enums]

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 投票
23 回答
275973 浏览

c++ - 如何轻松地将 C++ 枚举映射到字符串

我正在使用的一些库头文件中有一堆枚举类型,我想要一种将枚举值转换为用户字符串的方法 - 反之亦然。

RTTI 不会为我这样做,因为“用户字符串”需要比枚举更具可读性。

蛮力解决方案将是一堆这样的函数,但我觉得这有点太像 C 了。

我有一种直觉,认为有一个使用模板的优雅解决方案,但我还不能完全理解它。

更新:感谢您的建议-我应该明确说明枚举是在第三方库标头中定义的,所以我不想更改它们的定义。

我现在的直觉是避免使用模板并执行以下操作:

0 投票
8 回答
2746 浏览

c# - C# 枚举类型安全吗?

C# 枚举类型安全吗?

如果不是,有什么影响?

0 投票
7 回答
23798 浏览

java - Java 枚举定义

我以为我非常了解 Java 泛型,但后来我在 java.lang.Enum 中遇到了以下内容:

有人可以解释如何解释这个类型参数吗?提供可以使用类似类型参数的其他示例的奖励积分。

0 投票
10 回答
16521 浏览

enums - 查找枚举类型的最佳位置在哪里?

我发现通常有一个单一类型或命名空间将任何特定枚举作为参数,因此我总是在那里定义这些枚举。不过最近,我让一位同事大谈特谈这是一件多么愚蠢的事情,并且您应该始终在项目的根目录中有一个枚举命名空间,您可以在其中定义每个枚举类型。

查找枚举类型的最佳位置在哪里?

0 投票
13 回答
23663 浏览

c++ - 使用嵌套 C++ 类和枚举的优缺点?

使用嵌套的公共 C++ 类和枚举的优缺点是什么?例如,假设您有一个名为 的类printer,并且该类还存储输出托盘上的信息,您可以:

或者:

我可以看到嵌套私有枚举/类的好处,但是当涉及到公共枚举/类时,办公室是分开的——它似乎更像是一种风格选择。

那么,你更喜欢哪个,为什么?

0 投票
11 回答
26729 浏览

design-patterns - 您使用的是 C++ 中的哪个类型安全枚举?

众所周知,C++ 中的内置枚举不是类型安全的。我想知道那里使用了哪些实现类型安全枚举的类......我自己使用以下“自行车”,但它有点冗长和有限:

typesafeenum.h:

typesafeenum.cpp:

用法:

补充: 我认为我应该对要求更具体。我将尝试总结它们:

优先级 1:将枚举变量设置为无效值应该是不可能的(编译时错误),没有例外。

优先级 2:应该可以通过单个显式函数/方法调用将枚举值转换为 int。

优先级3:尽可能简洁、优雅、方便的声明和使用

优先级 4:将枚举值与字符串转换。

Priority 5: (Nice to have) Possibility to iterate over enum values.

0 投票
2 回答
6042 浏览

xsd - JAXB - XJC - 影响生成的类型安全枚举类和成员

使用 XJC 编译器(来自 JAXB 包)编译以下 simpleType 时...

我最终在 Java 中得到了以下枚举(删除了导入语句和注释)

这正是我想要的......除了public String value()方法。我希望public String getValue()根据 Sun 的命名约定调用该方法。这样我就可以轻松地在使用 EL 的 JSP 页面中使用它。现在我必须解决它。

getValue()有没有人有任何经验将 XJC 编译进一步调整为使用方法而不是方法的更有用的枚举value()?或者我可以添加一个方法或什么?

PS 这发生在 JAXB 的 v2.0.3 中。我下载了最新版本v2.1.8 和那里一样...

0 投票
2 回答
508 浏览

java - 我应该如何实现一个下拉框,其中包含需要以不同语言显示的项目列表?

我正在尝试设计一个表单,其中包含一个包含杂货选择列表的下拉框。

在尝试决定是使用 java 枚举还是查找表时,我应该查看哪些标准?此外,我需要提前计划 i18n 对下拉字符串的支持。

0 投票
6 回答
14074 浏览

java - Java 可扩展枚举

有没有办法编写一个可以扩展的枚举。我有几种方法我希望始终可用于我的枚举。例如,我对我的数据库字段使用枚举。我在数据库中包含了实际的字段名称。

0 投票
3 回答
2905 浏览

c# - 从库类中公开枚举

在 C# 中,我使用的是定义枚举的库。我想允许我的代码的使用者(在不同的程序集中)将枚举值作为参数传递给我的一个函数,而不必自己引用底层库。

有没有办法让我向我的消费者公开图书馆的枚举?