java在switch中使用枚举类型

一、示例代码

  1. 新建一个代表星期的枚举类,其中value的值表示星期几

    public enum Week {
    
    	MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);
    	
    	private Integer value;
    	
    	private Week(int value) {
    		this.value = value;
    	}
    	//获取延伸信息value
    	private Integer getValue() {
    		return value;
    	}
    	//通过延伸信息value获取Week类的一个枚举实例
    	public static Week getWeekByValue(Integer value) {
    		for(Week week : Week.values()) {
    			if(value.equals(week.getValue())) {
    				return week;
    			}
    		}
    		return null;
    	}
    }
    
  2. 新建一个测试类,在switch中使用枚举

    public class TestDemo {
    	public static void main(String[] args) {
    		switch (Week.getWeekByValue(1)) {
    		case MONDAY:
    			...
    			break;
    		case ...
                
    		default:
    			break;
    		}
    	}
    }
    

二、思路

  1. 获取想要的枚举类的延伸信息(我的实例中的延伸信息就是value)
  2. 遍历该枚举类的所有枚举实例
  3. 判断该次被遍历的枚举实例的延伸信息是否和传入的延伸信息相同,相同则返回该枚举实例

你可能感兴趣的:(java在switch中使用枚举类型)