枚举(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
}