在java switch中施用String作为分支条件

在java switch中使用String作为分支条件

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

Animal enum类:

public enum Animal {
	dog,cat,bear;
	
	public static Animal getAnimal(String animal){
		return valueOf(animal.toLowerCase());
	}
	
}

 Client 调用:

public class Client {

	public void caseAnimal(String animal){
		switch(Animal.getAnimal(animal)){
		case cat:
			System.out.println("this is a cat");
			break;
		case dog:
			System.out.println("this is a dog");
			break;
		case bear:
			System.out.println("this is a bear");
			break;
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
			Client client = new Client();
			client.caseAnimal("cat");
	}

}

 看,是不是很简单啊。希望对大家写程序过程中有所帮助