java枚举类型赋值int类型的val,进行优先级排序
时间: 2024-03-02 16:48:44 浏览: 170
对于Java的枚举类型,可以通过实现`Comparable`接口来指定枚举的排序规则。下面给出一个例子:
```java
public enum MyEnum implements Comparable<MyEnum> {
A(1),
B(2),
C(3);
private int val;
MyEnum(int val) {
this.val = val;
}
public int getVal() {
return this.val;
}
@Override
public int compareTo(MyEnum o) {
return Integer.compare(this.val, o.val);
}
}
```
在这个例子中,我们定义了一个枚举类型`MyEnum`,每个枚举值都有一个对应的`val`属性。我们实现了`Comparable`接口,并重写了其中的`compareTo`方法,用于指定枚举值的排序规则。在这个例子中,我们通过比较对应的`val`属性来确定枚举值的优先级。
使用的时候,我们可以将枚举值放到一个数组中,然后使用`Arrays.sort`方法对数组进行排序,就可以按照指定规则对枚举值进行排序了。例如:
```java
MyEnum[] arr = {MyEnum.C, MyEnum.B, MyEnum.A};
Arrays.sort(arr);
for (MyEnum e : arr) {
System.out.println(e);
}
```
输出结果为:
```
A
B
C
```
可以看到,按照`val`属性的大小,枚举值被正确地排序了。
阅读全文