有时候,变量的取值,只在一个有限的集合内,例如,销售的复追的或这披萨饼中有小、中、大、超大这四种尺寸。针对种种情况可自定义枚举类型。枚举类型包括有限个命名的值,例如:
enum Size {SMALL,MEDIUM,LARGE,EXTRA_LARGW};
现在可以声明这种类型的变量:
Size s =Size.MEDIUM;
在比较两个枚举类型的值时候,永远不要用equals,而是用 ==
代码:
import java.util.Scanner;
public class EnumTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("Enter a size:");
for (Size s:Size.values()) {
System.out.print(s+" ");
}
String input =in.next().toUpperCase();
Size size = Enum.valueOf(Size.class, input);
System.out.println("size="+size);
System.out.println("abbreviation="+size.getAbbreviation());
if (size == Size.EXTRA_LARGE) {
System.out.println("good job");
}
}
}
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;
}