定义枚举类型:

public enum Size{SMALL,MEDIUM,LARGE};

其实这定义了一个类,有三个实例,尽量不要构造新的对象。所以,在比较枚举类型的值的时候,永远不需要eauals,直接用 == .
还可以在枚举类型中添加一些构造器,方法和域。

enum SIZE{
    SMALL("S"),MEDIUM("M"),LARGE("L");
    
    private Size(String abbreviation){this.abbreviation=abbreviation;}
    public String getAbbreviation(){
    return abbreviation;
    }
    
    private String abbreviation;
}

作为Enum的子类,这些枚举类型继承了Enum的许多方法,
1.最有用的是toString方法,这个方法能够返回枚举常量名。
    Size.SMALL.toString() //返回字符串"SMALL".

2.toString的逆方法是静态方法valueOf:
    Size s = (Size) Enum.valueOf(Size.class,"SMALL");//把s设置为Size.SMALL

3.vlaues方法,将返回一个包含全部枚举值的数组:
    Size[] values = Size.values();

4.ordinal方法,返回enum声明中枚举常量的位置,从0开始计数:
    Size.,MEDIUM.ordinal() //返回1

import java.util.Scanner;

public class EnumTest{
	public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("输入一个尺码:");
        String input = in.next().toUpperCase();
        Size s = Enum.valueOf(Size.class, input);//把s设置为Size.SMALL
        System.out.println("size="+ s);
        System.out.println("缩写是:"+s.getAbbreviation());
        if(s == Size.LARGE) {
        	System.out.println("你丫太胖了");
        }
	}
}

enum Size{
	SMALL("S"),MEDIUM("M"),LARGE("L");
	
	private Size(String abbreviation) {
		this.abbreviation = abbreviation;
	}
	public String getAbbreviation() {
		return abbreviation;
	}
	private String abbreviation;
}