枚举简介

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


你可能感兴趣的:(api,String,Class,编译器)