每个枚举类型都有一个静态的values方法,它将返回一个包含全部枚举值的数组。
Size [] values = Size.values();
返回包含元素Size.SMALL,Size.MEDIUM,Size.LARGE和Size.EXTRA_LARGE的数组。
ordinal方法返回enum声明中枚举常量的位置,位置从0开始计数。
----
static Enum valueOf(Class enumClass, String name)
返回指定名字/给定类的枚举常量
String toString()
返回枚举常量名
int ordinal()
返回枚举常量在enum声明中的位置,位置从0开始计数。
int compareTo(E ohter)
如果枚举常量出现在other之前,则返回一个负值;如果this==other,则返回0;否则返回正值。枚举常量的出现次序在enum声明中给出。
1 package enums; 2 3 import java.util.Scanner; 4 5 public class EnumTest { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 Scanner in = new Scanner(System.in); 12 System.out.println("Enter a size:(SMALL, MEDIUM, LARGE, EXTRA_LARGE)"); 13 String input = in.next().toUpperCase(); 14 Size size = Enum.valueOf(Size.class, input); 15 System.out.println("size=" + size); 16 System.out.println("abbreviation=" + size.getAbbreviation()); 17 if(size == Size.EXTRA_LARGE) { 18 System.out.println("Good job--you paid attention to the_."); 19 } 20 21 } 22 23 } 24 25 enum Size { 26 SMALL("S"), MEDIUM("M"), LARGE("L"),EXTRA_LARGE("XL"); 27 28 private Size(String abbreviation) { 29 this.abbreviation = abbreviation; 30 } 31 public String getAbbreviation() { 32 return abbreviation; 33 } 34 35 private String abbreviation; 36 }
//结果:
1 Enter a size:(SMALL, MEDIUM, LARGE, EXTRA_LARGE) 2 EXTRA_LARGE 3 size=EXTRA_LARGE 4 abbreviation=XL 5 Good job--you paid attention to the_.