以算法替代过长方法,解决由于多个if,case导致方法过长

 
  
  1.  
  2. package com.netsoft;  
  3.  
  4.  
  5.  /**  
  6.  * <p>Date       : 2012-03-16</p>  
  7.  * <p>Description: 以算法替代过长方法,解决由于多个if,case导致方法过长</p>  
  8.  *   
  9.  * @author 小俊垃圾回收站  
  10.  *   
  11.  */ 
  12. public class SubstituteAlgorithm {  
  13.     /*  
  14.      * 复杂算法  
  15.      * @param peoples  
  16.      * @return  
  17.      *  
  18.     public String foundPerson(String[] peoples) {  
  19.         for (String people : peoples) {  
  20.             if (people.equals("Jim"))  
  21.                 return "Jim";  
  22.             else if (people.equals("Tom"))  
  23.                 return "Tom";  
  24.             else if (people.equals("Lili"))  
  25.                 return "Lili";  
  26.         }  
  27.         return "";  
  28.     }*/ 
  29.  
  30.  
  31.     /** 替换算法  
  32.      * @param peoples  
  33.      * @return  
  34.      */ 
  35.     public String foundPerson(String[] peoples) {  
  36.         String[] pName = {"Jim","Tom","Lili"};  
  37.         int index = 0;  
  38.         for (String people : peoples) {  
  39.             if(people.equals(pName[index]))  
  40.                 return pName[index];  
  41.         }  
  42.         return "";  
  43.     }  
  44.       
  45.       
  46.       
  47. }  

 

本代码参照《重构改善代码的设计》

——————————————————————————————————————————小俊垃圾回收站