===
* 錯誤碼:* 正確代碼:
if(((String)rs[4]).equals("C"))...{
//
}
if("C".equals((String)rs[4]))...{
//
}
* 原因:rs[4]可能為null值,導致Null 物件引用,拋出異常。
===
代碼最佳化
* 原代碼:* 替換為:
cpvo.setProdType(StaticParameters.getProductType(rs[4]));
if(((String)rs[4]).equals("C"))...{
cpvo.setProdType("通用產品");
}
else if(((String)rs[4]).equals("S"))...{
cpvo.setProdType("解決方案");
}
else
cpvo.setProdType((String)rs[4]);
定義類StaticParameters,參見檔案StaticParameters.java。
其他靜態參數有類似問題,例如:綁定標誌。
* 代碼:
import java.util.HashMap;
import java.util.Map;
public class StaticParameters
...{
private static Map productTypes = null;
static ...{
//初始化靜態參數集合
initProductTypes();
}
private static void initProductTypes()
...{
if (productTypes == null)
...{
productTypes = new HashMap();
productTypes.put("C", "通用產品");
productTypes.put("S", "解決方案");
}
}
public static String getProductType(String code)
...{
String value = (String) productTypes.get(code);
return value == null ? code : value;
}
}