Close

Java - Comparing enums based on Enum.compareTo() method

Java 

java.lang.Enum implements Comparable interface. Its compareTo method compares the elements based on their ordinals.
Enum#compareTo method returns self.ordinal - other.ordinal.
The elements being compared must be from the same enum class.

package com.logicbig.example;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class EnumCompareToExample {
enum MyEnum {
E, B, A, C, D
}

public static void main(String[] args) {
int i = MyEnum.A.compareTo(MyEnum.E);
System.out.println(i);

i = MyEnum.B.compareTo(MyEnum.E);
System.out.println(i);

List<MyEnum> list = Arrays.asList(MyEnum.A, MyEnum.B,
MyEnum.C, MyEnum.D, MyEnum.E);
Collections.sort(list);
System.out.println(list);
}
}

Output

2
1
[E, B, A, C, D]




See Also