枚举是一个类,可以在其中添加构造器,方法和域,例如下面这个例子:
/**
* ClassName:EnumsTest
* Author:LFM
* Date:2019/6/13 21:05
**/
public class EnumsTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("输入一个尺码:(S,M,L,XL)(不区分大小写)");
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.XL){//进行枚举类型比较的时候不要用equals()方法
System.out.println("非常好,你选择一个最棒的!");
}
//下面是枚举类的三个方法演示
System.out.println(Size.XL.toString());//返回其中的枚举常量名
System.out.println(Size.XL.ordinal());//返回常量名所在位置(从0开始的)
}
}
enum Size{
//abbreviation:缩写词
S("S"),M("M"),L("L"),XL("XL");
private String abbreviation;
private Size(String abbreviation){//构造器,只是构造枚举常量的时候调用一下
this.abbreviation = abbreviation;
}
public String getAbbreviation() {
return abbreviation;
}
}
其中的解释我都用注释标出来了,记录以下枚举类的学习情况,当然这个是书上的简化程序,我把书上列出来的方法都尝试了一遍。
运行结果如下
**这个3是因为从0开始计算的。**我个人感觉那个逆方法在开发中比较有用,这样可以根据用户的输入来设计枚举常量。