Scala没有enum像Java那样的类型安全.给定一组相关常量,Scala表示这些常量的最佳方法是什么?
一个例子通常比长期解释更好.
您可以在Coliru上编译并运行此代码段.
(另一个前例子也可用)
#include <map>
#include <iostream>
struct MyClass
{
enum class …Run Code Online (Sandbox Code Playgroud) 如何将Enum对象添加到Android Bundle?
我ReportTypeEnum在所有类中的方法之间传递的枚举类型,但我需要在URL上传递它,所以我使用序数方法来获取int值.在我的其他JSP页面中获取它之后,我需要将其转换回一个ReportTypeEnum以便我可以继续传递它.
我如何将序数转换为ReportTypeEnum?
使用Java 6 SE.
我的枚举包含以下值:
private enum PublishStatusses{
NotCompleted,
Completed,
Error
};
Run Code Online (Sandbox Code Playgroud)
我希望能够以用户友好的方式输出这些值.
我不需要能够再次从字符串变为值.
我不确定使用C枚举的正确语法是什么.我有以下代码:
enum {RANDOM, IMMEDIATE, SEARCH} strategy;
strategy = IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)
但这不会编译,出现以下错误:
error: conflicting types for ‘strategy’
error: previous declaration of ‘strategy’ was here
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在尝试做类似以下的事情:
enum E;
void Foo(E e);
enum E {A, B, C};
Run Code Online (Sandbox Code Playgroud)
编译器拒绝的.我已经快速浏览了一下Google,而且共识似乎是"你做不到",但我无法理解为什么.谁能解释一下?
澄清2:我这样做是因为我在类中使用私有方法来获取枚举,并且我不希望枚举枚举值 - 例如,我不希望任何人知道E被定义为
enum E {
FUNCTIONALITY_NORMAL, FUNCTIONALITY_RESTRICTED, FUNCTIONALITY_FOR_PROJECT_X
}
Run Code Online (Sandbox Code Playgroud)
因为项目X不是我希望用户了解的东西.
所以,我想转发声明枚举,以便我可以将私有方法放在头文件中,在cpp内部声明枚举,并将构建的库文件和标题分发给人.
至于编译器 - 它是GCC.
我想知道如何迭代TypeScript枚举和每个枚举的符号名称.
例如,
enum myEnum { entry1, entry2 }
for (var entry in myEnum) {
// use entry's name here, e.g., "entry1"
}
Run Code Online (Sandbox Code Playgroud)