Tag: 枚举

查找表最佳实践:数据库表…或枚举

如果我们必须存储公司的可用职位(即经理,团队领导,等等)。 存储它的最佳实践是什么? 我有两个意见与评论…“当然,欢迎你” 将其存储为带有列ID和名称的数据库表,并使用查询和连接进行处理。 将它作为Enum存储并忘记数据库表。 在我看来,如果我有更改项目,我会select第一个解决scheme。 所以我不会将这些选项硬编码为Enum。 如果我毫不怀疑数据不会改变(例如性别:男性,女性),我可以selectEnum解决scheme。 注意:我用英文编码,UI文化可能是阿拉伯文。 如果我将使用Enum解决scheme,我将在表示层中对基于文化的string进行硬编码,从最佳实践的angular度来看,这样做是否可行! 我想知道你的意见,如果我的想法对应于什么是最推荐的“最佳做法”?

Java枚举和带有私有构造函数的类之间有什么区别?

我试图理解Java枚举是如何工作的,而且我得出的结论与一般的Java类非常类似,它的构造函数声明为private。 我刚刚得出这个结论,并不是基于很多的想法,但我想知道我是否错过任何东西。 所以下面是一个简单的Java枚举和一个等价的Java类的实现。 public enum Direction { ENUM_UP(0, -1), ENUM_DOWN(0, 1), ENUM_RIGHT(1, 0), ENUM_LEFT(-1, 0); private int x; private int y; private Direction(int x, int y){ this.x = x; this.y = y; } public int getEnumX(){ return x; } public int getEnumY(){ return y; } } 上面和下面的代码在意义上有什么不同? public class Direction{ public static final Direction UP […]

如何用C ++中的多个数据字段编写一个类似Java的枚举类?

来自Java的背景,我发现C ++的枚举非常蹩脚。 我想知道如何在C ++中编写类似Java的枚举(enum值是对象,可以有属性和方法)。 例如,将以下Java代码(其中的一部分,足以演示该技术)转换为C ++: public enum Planet { MERCURY (3.303e+23, 2.4397e6), VENUS (4.869e+24, 6.0518e6), EARTH (5.976e+24, 6.37814e6), MARS (6.421e+23, 3.3972e6), JUPITER (1.9e+27, 7.1492e7), SATURN (5.688e+26, 6.0268e7), URANUS (8.686e+25, 2.5559e7), NEPTUNE (1.024e+26, 2.4746e7); private final double mass; // in kilograms private final double radius; // in meters Planet(double mass, double radius) { this.mass = […]

为什么我不能在Java的内部类中创build一个枚举?

我试图做的是这样的: public class History { public class State { public enum StateType { Eclipse在StateType上给我这个编译错误: The member enum StateType must be defined inside a static member type 。 当我使State类为静态时,错误消失。 我可以使State静态,但我不明白为什么我不能在内部类中声明一个enum 。

枚举与强types的枚举

我是C ++编程的初学者。 今天我遇到了一个新的话题:强typesenum 。 我已经研究了一下,但是直到现在我还是无法知道为什么我们需要这个,有什么用呢? 例如,如果我们有: enum xyz{a, b, c}; /*a = 0, b = 1, c = 2, (Typical C format)*/ 为什么我们需要写: enum class xyz{a, b, c}; 我们在这里做什么? 我最重要的疑问是如何使用它。 你能提供一个小例子,这会让我明白。

非法转发引用和枚举

我正在编写一个由瓷砖网格组成的游戏。 我不能直接定义瓷砖的边缘以及它们是如何相互关联的,例如,为了得到瓷砖的相反边缘,我想只能inputTOP.opposite() 。 但是,当使用枚举来定义这些边缘时,我最终必须在contstructor中至less转发两个引用的引用: public enum Edge { TOP(Edge.BOTTOM), //illegal forward reference BOTTOM(Edge.TOP), LEFT(Edge.RIGHT), //illegal forward reference RIGHT(Edge.LEFT); private Edge opposite; private Edge(Edge opp){ this.opposite = opp; } public Edge opposite(){ return this.opposite; } } 有没有什么办法使用枚举这个问题一样简单?

如何从Java中的常量提供枚举值的注释

我无法使用从常量中取得的Enum作为注释中的参数。 我得到这个编译错误:“注释属性[属性]的值必须是一个枚举常量expression式”。 这是Enum代码的简化版本: public enum MyEnum { APPLE, ORANGE } 对于注释: @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD }) public @interface MyAnnotation { String theString(); int theInt(); MyEnum theEnum(); } 和class级: public class Sample { public static final String STRING_CONSTANT = "hello"; public static final int INT_CONSTANT = 1; public static final MyEnum MYENUM_CONSTANT = MyEnum.APPLE; @MyAnnotation(theEnum = MyEnum.APPLE, […]

如何从Enum中获取数值?

例如System.Net.HttpStatusCode枚举,我想获得HTTP状态代码而不是HTTP状态文本System.Net.HttpStatusCode.Forbidden应该返回403而不是“Forbidden” 我如何提取价值?

Obj-C中的多值枚举

在Cocoa和Cocoa Touch框架中,枚举被用作常量。 我了解如何使用它,除了在一种情况下,您可以通过|作为parameter passing多个值的情况 运营商。 像 : pageControl.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin); 枚举声明如下: enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5 }; typedef NSUInteger UIViewAutoresizing; 我怎样才能定义自己这种types的枚举(即什么<<意味着什么),如何检查作为parameter passing的倍数值?

将string转换为等效的Enum值

是否有可能使用Java将String转换为Enumeration的等价值。 我当然可以用一个大的if-else语句来做这个,但是如果可能的话,我想避免这个。 鉴于这个文件: http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html 我不太乐观,如果没有ifs或case声明,这是可能的。