枚举 vs 查找表 vs 枚举反射 vs 状态模式
我将要构建的软件将涉及很多不同状态之间的“应用程序”切换。 可以完成某些任务取决于应用程序所处的状态。 我正在考虑使用枚举作为状态 public clas…
声明枚举时,是否应该将 256 个以下实体的类型强制转换为字节?
如果您的应用程序中有一个枚举,并且只有几个项目,您是否应该强制基础类型为尽可能小的类型? enum smaller : byte { one, two, three } …
Hibernate/NHibernate 中的枚举表
我们使用 NHibernate,存储类似枚举信息的常见模式之一是为枚举定义单独的表,并仅引用使用该枚举的主实体/表中的 ID。 一个简单的示例: Message ---…
如何从 Java 中的字符串值获取枚举值
假设我有一个枚举 public enum Blah { A, B, C, D } ,我想找到一个字符串的枚举值,例如 "A" ,它是 Blah.A。 怎么可能做到这一点? 是 Enum.valueOf…
我应该假设二元素枚举将保持这种方式吗?
我经常遇到有两个成员枚举的情况: enum E{ A, B } 假设我想根据我的枚举值为 i 分配不同的值。 我应该写这个 : int i= (e== E.A)?0:1 或这个 : int i…
枚举定义中的静态上下文
Java 的 enum 工具提供的语法糖有时可能会有点令人困惑。 考虑这个无法编译的例子: public enum TestEnum { FOO("foo") { public void foo() { helpe…
在 C# 中将超出范围的数字转换为枚举不会产生异常
以下代码不会产生异常,而是将值 4 传递给 tst。 谁能解释这背后的原因吗? public enum testing { a = 1, b = 2, c = 3 } testing tst = (testing)(4…