love fish大鹏一曰同风起,扶摇直上九万里

常用链接

统计

积分与排名

friends

link

最新评论

代码发现的问题及解决方案(转)

===
* 错误代码:* 正确代码:
if(((String)rs[4]).equals("C"))...

 

if("C".equals((String)rs[4])){
 
//
}


* 原因:rs[4]可能为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;
 }

}


 


posted on 2007-05-16 14:48 liaojiyong 阅读(341) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航: