wangflood

精心维护一个技术blog,为了工作,也是爱好。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  14 Posts :: 19 Stories :: 8 Comments :: 0 Trackbacks
框架里有个方法(Object...params) params的参数类型分为String ,Integer和Double.后续一系列悲催代码就是这样形成的。

在这个方法里面,取得参数时,得作类型转换。所以必须按约定的顺序转换,比如顺序是(String,Integer,Integer).取参很丑陋吧。

给这个方法传参的时候,需要确定好类型,比如是从xml中读取出这组参数,那么就是个Sting[],类型,直接传参,取参的时候会报错。所以投进去的时候,必须以确定的类型。
以下这段代码就是这么干的。
import java.util.Arrays;

public class TestDoubleParse {

    
public static void main(String[] args) {
        String[] strs 
= new String[] { "EMA""14""0.001" };
        Object[] arg 
= new Object[3];
        
for (int i = 0; i < strs.length; i++) {
            
try {
                
int temp = Integer.parseInt(strs[i]);
                arg[i] 
= temp;
            } 
catch (NumberFormatException e) {
                
try {
                    
double d = Double.parseDouble(strs[i]);
                    arg[i] 
= d;
                } 
catch (NumberFormatException nfe) {
                    arg[i] 
= strs[i];
                }

            }

        }
        System.out.println(Arrays.toString(arg));
    }
}

try{try{}}的作用就相当于另一种形式的if了。很无奈,悲剧继续重演。。。。。

posted on 2011-03-30 17:07 wangflood 阅读(173) 评论(0)  编辑  收藏 所属分类: java

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


网站导航: