赞
踩
最近在敲代码的时候,经常会遇到同事写的一大串if else 判断代码,明知道这样写不好,但是又不知道从何下手优化,例如下面这个:
之后学习“重构”这本书的时候,恰巧遇到了解决这类问题的一个思路,自己写了一个小demo,分享给大家:
public class Ifelseoptimic {
public static void main(String[] args) {
String[] param = new String[]{"vincent"};
//优化前
System.out.print(foundPerson(param));
//优化后
System.out.print(foundPerson(param));
}
public static String foundPerson(String[] persons){
for(int i=0;i<persons.length;i++){
if(persons[i].equals("celine")){
return "celine";
}
if(persons[i].equals("vincent")){
return "vincent";
}
if(persons[i].equals("tom")){
return "tom";
}
if(persons[i].equals("Bob")){
return "Bob";
}
if(persons[i].equals("jack")){
return "jack";
}
if(persons[i].equals("jackson")){
return "jackson";
}
if(persons[i].equals("lili")){
return "lili";
}
}
return "";
}
public static String foundPersonNew(String[] persons){
List nameList = Arrays.asList(new String[] {"celine","vincent","tom","Bob","jack","jackson","lili"});
for(int i=0;i<persons.length;i++){
if(nameList.contains(persons[i])){
return persons[i];
}
}
return "";
}
}
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。