我想知道是否有任何方法可以为不同的类订购枚举。例如,如果我有一组固定的化学物质,它们以不同的方式与其他化学物质发生反应,有些反应强烈,有些反应微弱。我基本上希望能够根据组应该对之反应的化学物质(即取决于类别)来切换它们的排列顺序。我确实知道我应该使用Comparable,但是我不确定该怎么做。如果我不够清楚,请发表评论,我将作进一步解释。
谢谢。
public static enum Chem {
H2SO4, 2KNO3, H20, NaCl, NO2
};
所以我看起来像这样,我已经知道每种化学物质如何与其他化学物质发生反应。我只是想根据将与之反应的化学物质来安排化学物质。那几乎就是我所拥有的。
实现不同Comparator
的代码(请参见http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html)
Comparator comparator1 = new Comparator<MyEnum>() {
public int compare(MyEnum e1, MyEnum e2) {
//your magic happens here
if (...)
return -1;
else if (...)
return 1;
return 0;
}
};
//and others for different ways of comparing them
//Then use one of them:
MyEnum[] allChemicals = MyEnum.values();
Arrays.sort(allChemicals, comparator1); //this is how you sort them according to the sort critiera in comparator1.
例如,如果常数不显示为星期五、星期一、星期六、星期日、星期四、星期二、星期三,那么的javadoc看起来会更好。
问题内容: 我们有一个枚举 此外,我们还有一个包含字符串的列表。有没有一种方法可以根据枚举定义的顺序(而不是自然顺序)对列表进行排序。 排序后的列表应为。 问题答案: 器具通过枚举(其中值声明的顺序)的自然顺序。如果仅通过解析创建枚举值(而不是字符串)的列表,则使用对该列表进行排序,它应该按照您想要的方式进行排序。如果您再次需要一个字符串列表,则可以通过调用每个元素来转换回来。
我在使用SpringData/Hibernate按自定义规则对枚举进行排序时遇到了一些小问题。 A有一个名为DeviceState的枚举,它有自己的优先级字段。 枚举由DeviceEntity使用: 有线索吗,救命?点子?请记住,这是生产工作系统,我不能做任何“烟火”。
问题内容: 假设是,我将如何产生给定序数的枚举值? 问题答案: 足够了。一条线; 足够简单。
问题内容: 这不是卡住我的问题,而是我正在寻找一种编写代码的整洁方法。 本质上,我正在编写一个事件驱动的应用程序。用户触发一个事件,该事件被发送到适当的对象,然后这些对象处理事件。现在,我正在编写偶数处理程序方法,并且希望使用switch语句确定如何处理事件。现在,在我研究通用结构时,事件类非常简单: 然后,在另一堂课中,我会看到类似以下内容的内容: 我会 喜欢 做的就是这样的事情(尽管我当然会坚
使用枚举我们可以定义一些带名字的常量。 使用枚举可以清晰地表达意图或创建一组有区别的用例。 TypeScript支持数字的和基于字符串的枚举。 数字枚举 首先我们看看数字枚举,如果你使用过其它编程语言应该会很熟悉。 enum Direction { Up = 1, Down, Left, Right } 如上,我们定义了一个数字枚举,Up使用初始化为1。 其余的成员