枚举(ENUM):我们所定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public static final的。
而每个枚举的成员其实就是自己定义的枚举类型的一个实例。
package com.wansha.enumdemo; /** * *枚举在编译的时候就已经生成了对象,枚举中有几个成员,编译器就自动生成几个对象, *自己是不能生成枚举对象的 * @author sharp * */ public enum EnumDemo3 { RED("hello"),WHITE("world"),BLACK("welcome"); //每个成员变量都是枚举的一个对象,带构造方法传值! private String value; public String getValue() { return value; } private EnumDemo3(String value) { //枚举的构造方法 this.value = value; } public static void main(String[] args) { EnumDemo3 enumDemo3 = EnumDemo3.BLACK; System.out.println(enumDemo3.getValue()); //输出welcome } }
枚举常用API DEMO
package com.wansha.enumdemo; import java.util.EnumSet; public class EnumDeom2 { public static void main(String[] args) { EnumSet<Font> enumset = EnumSet.of(Font.RED,Font.BLUE); sort(enumset);// RED,BLUE System.out.println("-------------"); sort(EnumSet.complementOf(enumset));// WHITE,GREEN System.out.println("---------------"); EnumSet<Font> enumset2 = EnumSet.noneOf(Font.class); enumset2.add(Font.BLUE); enumset2.add(Font.GREEN); sort(enumset2);//BLUE,GREEN } public static void sort(EnumSet<Font> enumset){ for(Font font:enumset){ System.out.println(font); } } } enum Font{ RED,WHITE,BLUE,GREEN }