Enum
  1. public enum Day
  2. {
  3. Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
  4. }
  1. //internal implementation of Day
  2. public enum Day
  3. {
  4. public static final Day Monday = new Day();
  5. public static final Day Tuesday = new Day();
  6. public static final Day Wednesday = new Day();
  7. public static final Day Thursday = new Day();
  8. public static final Day Friday = new Day();
  9. public static final Day Saturday = new Day();
  10. public static final Day Sunday = new Day();
  11. }
  1. public class E
  2. {
  3. public static void main(String args[])
  4. {
  5. Day d = Day.Monday;
  6.  
  7. System.out.println(d);
  8.  
  9. //valueOf
  10. System.out.println(d.valueOf("Sunday"));
  11.  
  12. //values
  13. for(Day e : Day.values())
  14. System.out.println(e);
  15.  
  16. System.out.println(Day.Saturday.ordinal());
  17. }
  18. }
main method in enum
  1. public enum Day
  2. {
  3. Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday;
  4.  
  5. public static void main(String args[])
  6. {
  7. Day d = Day.Sunday;
  8.  
  9. System.out.println(d);
  10. }
  11. }
enum and constructors
  1. public enum Car
  2. {
  3. Camery("Toyota", 2010),
  4. Accord("Honda", 2016),
  5. Acura("Honda", 2000),
  6. Century("Buick", 1998);
  7.  
  8. private final String maker;
  9. private final int year;
  10.  
  11. Car(String m, int y)
  12. {
  13. maker = m;
  14. year = y;
  15. }
  16.  
  17. public String getMaker()
  18. {
  19. return maker;
  20. }
  21.  
  22. public int getYear()
  23. {
  24. return year;
  25. }
  26. }
  1. public class CarTest
  2. {
  3. public static void main(String args[])
  4. {
  5. for(Car b : Car.values())
  6. System.out.printf("%s: %s %d\n", b, b.getMaker(), b.getYear());
  7.  
  8. Car c = Car.Accord;
  9.  
  10. System.out.printf("%s %d\n", c.getMaker(), c.getYear());
  11. }
  12. }
Access enum with index
  1. public class E
  2. {
  3. public static void main(String args[])
  4. {
  5. //index
  6. for(int i = 0, len = Day.values().length; i < len; i++)
  7. System.out.println(Day.values()[i]);
  8. }
  9. }
Compare enum objects
  1. public class E
  2. {
  3. public static void main(String args[])
  4. {
  5. Day a = Day.Monday;
  6. Day b = Day.Tuesday;
  7.  
  8. if(a.compareTo(b) < 0)
  9. System.out.printf("%s < %s\n", a, b);
  10. }
  11. }
Reference