P189
程序清单5-12 enums/EnumTest.java
- 代码
- 重要API
1.代码
import java.util.Scanner;
public class EnumTest
{
public static void main(String[] args)
{
//初始化Scanner对象,其中System.in是一个InputStream对象
Scanner in = new Scanner(System.in);
System.out.print("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE) ");
//读取输入的下一个单词(以空格作为分隔符)并将之大写化
String input = in.next().toUpperCase();
//将size设置成Size.input(其中input为一个Size枚举类型的值)
Size size = Enum.valueOf(Size.class, input);
System.out.println("size=" + size);
//获取size的缩写(Size枚举类的第一个参数域)
System.out.println("abbreviation=" + size.getAbbreviation());
if (size == Size.EXTRA_LARGE)
System.out.println("Good job--you paid attention to the _.");
}
}
enum Size
{
SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");
private Size(String abbreviation) { this.abbreviation = abbreviation; }
public String getAbbreviation() { return abbreviation; }
private String abbreviation;
}
2.重要API
-
java.lang.Enum<E> 5.0
-
static Enum valueof(Class enumClass, String name)
返回指定名字、给定类的枚举常量。String toString()
返回枚举常量名。int ordinal()
返回枚举常量在enum声明中的位置,位置从0开始计数。int compareTo(E other)
如果枚举常量出现在other之前,则返回一个负值;如果this==other,则返回0;否则返回正值。枚举常量的出现次序在enum声明中给出。
关于Java Enum(java枚举类型)的详解,可以参考深入理解Java枚举类型
如有谬误或不完善之处,恳请斧正!