【发布时间】:2012-11-19 07:26:52
【问题描述】:
枚举:
public enum ComponentType {
INSTRUCTION, ACTION, SERVICE, DOMAIN, INTEGRATION, OTHER, CONTEXT;
}
A 类:
public class A
{
String name;
ComponentType c;
public A(String name, ComponentType c)
{
this.name = name;
this.c = c;
}
}
代码:
List<A> l = new ArrayList<A>();
l.add(new A("ZY", ACTION));
l.add(new A("ZY0", INSTRUCTION));
l.add(new A("ZY1", DOMAIN));
l.add(new A("ZY2", SERVICE));
l.add(new A("ZY3", INSTRUCTION));
l.add(new A("ZY4", ACTION));
如何根据枚举顺序对列表进行排序?
【问题讨论】:
-
我不明白您想要什么...您的示例无法编译,因为 java.util.List.add 不采用两个对象参数。
-
对不起...我错过了类定义...刚刚编辑。现在,问题完成了
-
您希望它按“ZY”、“ZY0” ... 还是按 ACTION、INSTRUCTION ... 排序?
-
按 ACTION、INSTRUCTION 排序。如 ComponentType 中定义的顺序,例如指令、行动、服务、领域
-
@SubinS:
Collections.sort(list)仅在列表中的元素为Comparable时才有效。否则,您需要自己提供Comparator。
标签: java collections enums