Java switch String

在java中明确规定switch里面只允许使用byte、char、short、int和枚举 类型,但是我们实际编程过程中往往需要通过String来进行比较。那么应该怎么做呢?其实很简单,我们只需要将enum类型做一个小小的封装就可以达到我们的目的。

Enum类

public enum Day {
	SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, NOVALUE;

	public static Day toDay(String str) {
		try {
			return valueOf(str);
		} catch (Exception ex) {
			return NOVALUE;
		}
	}
}

调用类

public class GetDay {
	public static void main(String[] args) {
		String day = "sunday";
		switch (Day.toDay(day.toUpperCase())) {
		case SUNDAY:
			System.out.println("星期天");
			break;
		case MONDAY:
			System.out.println("星期一");
			break;
		case TUESDAY:
			System.out.println("星期二");
			break;
		case WEDNESDAY:
			System.out.println("星期二");
			break;
		case THURSDAY:
			System.out.println("星期二");
			break;
		case FRIDAY:
			System.out.println("星期二");
			break;
		case SATURDAY:
			System.out.println("星期二");
			break;
		case NOVALUE:
			System.out.println("输错");
			break;
		}
	}
}


发布了45 篇原创文章 · 获赞 21 · 访问量 66万+

猜你喜欢

转载自blog.csdn.net/yin_jw/article/details/39207505
今日推荐