这个问题在这里已经有了答案:Whatareenumsandwhyaretheyuseful?(27个答案)关闭7年前。在阅读了一些关于枚举的问题和答案后,我发现它并不是很有用......它介于类和变量之间,但我知道我可以在哪里使用它,因此它比类或几个变量更有用。
在我们的应用程序中,某些实体必须由枚举表示,这是很常见的情况:例如类型、类别、状态等。通常,代码中有条件或流程使用值来决定一个Action或另一个Action,因此应用程序必须以某种方式“知道”这些值(即它必须能够引用一个特定的实例来决定而不是引用整个类)。这就是我们使用枚举而不是普通类的原因。问题是这些实体还需要作为其他实体的字段存储(或至少引用)在数据库中。我们通常为每个实体创建一个表,以便能够在这些列中进行引用完整性检查,并且数据仅在数据库中具有“意义”,而无需引用枚举来找出每个id的含义.理想情况下,这些实体的数据应该从枚举中的数据中填充,但现在我们在db初始化脚本中重复了这些
如何使用Eclipse将Java常量重构为枚举?我发现eclipse中没有内置功能:http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fref-menu-refactor.htm我找到了一个插件:http://code.google.com/p/constants-to-enum-eclipse-plugin/.我想知道插件是否可行,或者有人使用更好的方法。我总是可以自己创建一个枚举类并剪切和粘贴常量,这在2012年很乏味。请不要给我指点另一个IDE,我太老了,不能
我在编译时得到了一个我没有预料到的匿名类。相关代码如下,再进行更详细的解释:完整的CircuitType.java:publicenumCircuitType{V110A20,V110A30,V208A20,V208A30}来自Auditor.java,第3-9行:publicclassAuditor{privateString[]fileNames;privateintnumV110A20;privateintnumV110A30;privateintnumV208A20;privateintnumV208A30;来自Auditor.java,第104-121行:[...]switc
所以我想做的是:写一个用户类一个用户:有一个用户名,例如“fj3”有一个用户类型,可以是:'user'、'editor'或'admin'有一个名字,例如'Francis'有一个以用户名、用户类型和名称为参数的构造函数有一个getUsername()方法有一个getUserType()方法有一个getName()方法有一个setUserType()方法,该方法将其中一种用户类型作为参数到目前为止我的代码:publicclassUser{publicStringid;publicStringuserPermissions;publicStringactualName;publicUser(
您可能知道,当您在Googleprotobuf中使用全局范围或在同一消息中定义枚举时,如果枚举是同级的,则不能将枚举字段名称定义为相同。即使您打算使用proto文件生成Java代码,protoc也会提示它并且不会生成任何带有以下消息的代码。"XXX"isalreadydefinedin"your.package.name".NotethatenumvaluesuseC++scopingrules,meaningthatenumvaluesaresiblingsoftheirtype,notchildrenofit.Therefore,"XXX"mustbeuniquewithin"yo
Java的enum工具提供的语法糖有时会有点令人困惑。考虑这个不编译的例子:publicenumTestEnum{FOO("foo"){publicvoidfoo(){helper();//谁能解释为什么编译器说Non-staticmethod'helper()'cannotbereferencedfromastaticcontext这个上下文究竟是静态的吗?您可以通过更改对this.helper()的调用来进行编译(这里有一个令人困惑的地方:如果我们真的是在编译器建议的“静态上下文”中,“this”如何工作?)或通过将helper()的可见性提高到默认级别。你更喜欢哪个?另外,请随时
我正在为我的Java1.6大学类(class)开发一个LALG编译器。所以我上了类型课和语法课。枚举类型publicenumEnumTypes{A("OLA"),B("MUNDO"),C("HELLO"),D("WORLD"),/***Theorderbelowisreversedonpurpose.*RevertitandwillyougetaNULLlistoftypesfurder.*/I(EnumGrammar.THREE),H(EnumGrammar.TWO),F(EnumGrammar.ONE),E(EnumGrammar.ZERO);privateStringstrVal
我有几个Java枚举,如下所示(出于保密等原因进行了编辑)。在每种情况下,我都有一个我真的不满意的查找方法;在下面的示例中,它是findByChannelCode.publicenumPresentationChannel{ChannelA("A"),ChannelB("B"),ChannelC("C"),ChannelD("D"),ChannelE("E");privateStringchannelCode;PresentationChannel(StringchannelCode){this.channelCode=channelCode;}publicStringgetChann
文章目录1结构体1.1结构的基础知识1.2结构的声明1.3特殊的声明1.4结构的自引用1.5结构体变量的定义和初始化1.6结构体内存对齐1.7修改默认对齐数1.8结构体传参2.位段2.1什么是位段2.2位段的内存分配2.3位段的跨平台问题2.4位段的应用3.枚举3.1枚举类型的定义3.2枚举的优点3.3枚举的使用4.联合(共用体)4.1联合类型的定义4.2联合的特点4.3联合大小的计算1结构体1.1结构的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.2结构的声明structtag{member-list;}variable-list;例如描述一个学生: