在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");
- }
- }
看,是不是很简单啊。希望对大家写程序过程中有所帮助