Enum

package datastructureAPI;

// enum 是一个很类似于 class的概念
public enum CoinEnum {
	
	// 这里的枚举实例 可以理解为 枚举类的 4个对象(预定生成好,不能变)
	ONE(2, "a"), FIVE(5, "b"), TEN(10, "c"), TWOFIVE(25, "d");
	
	// 枚举对象可以具有的 成员变量。 和class里的概念一样
	private int value;
	private String str;
	
	// 注意这里的构造函数的用法。 这里构造函数需要多少参数,上面定义枚举实例的时候,就要给出相应的初始值
	private CoinEnum(int v, String s){
		this.value = v;
		this.str = s;
	}
	
	public int getValue() {
		return value;
	}
	
	public String getString() {
		return str;
	}
	
	public static void main(String[] args){
		// 定义一个枚举实例 的方法
		CoinEnum ce = CoinEnum.ONE;
		
		// 访问枚举实例里的 成员变量的值
		System.out.println(ce.getValue());
		System.out.println(ce.getString());
		
		// 。values() 方法返回枚举类型的数组。 
		for (CoinEnum c: CoinEnum.values()){
			
			// 按照离当前枚举对象的距离计算返回值。返回 0 表示相同。 -1 表示 c在ce后面一个。 -2 表示c在ce后面2个
			System.out.println(ce.compareTo(c));
		}
		
	}
	
}

enum Signal {
	GREEN, YELLOW, RED
}

public class EnumTest {

	public static void main(String[] args) {
		Signal color = Signal.RED;
		switch (color) {
		case RED:
			color = Signal.GREEN;
			System.out.println(color);
			break;
		case YELLOW:
			color = Signal.RED;
			break;
		case GREEN:
			color = Signal.YELLOW;
			break;
		}
	}
}
enum Signal {
	GREEN, YELLOW, RED
}

public class EnumTest {

	public static void main(String[] args) {
		Signal color = Signal.RED;
		switch (color) {
		case RED:
			color = Signal.GREEN;
			System.out.println(color);
			break;
		case YELLOW:
			color = Signal.RED;
			break;
		case GREEN:
			color = Signal.YELLOW;
			break;
		}
	}
}

猜你喜欢

转载自speed847.iteye.com/blog/1990176
今日推荐