JDK5新特性之 可变参数的方法

可变参数的方法:不知道这个方法该定义多少个参数

注意:

》 参数实际上是数组
》 必须写在参数列表最后一个

package cn.itcast.day24.varparam;

import java.lang.reflect.Type;

/**
 * 
 * JDK5新特性之 可变参数
 *         定义方法时,不知道该定义多少个参数 
 * 
 * 格式:
 *         修饰符 方法返回值 方法名(数据类型 ... 变量名){}
 * 
 * 注意:
 *         可变参数实际上是一个数组
 *         可变参数必须写在方法的参数列表的最后
 *
 */
public class VarParam {

    public static void main(String[] args) {
        int a=1;
        int b=2;
        
        System.out.println("result:"+sum(a,b));
        System.out.println("result:"+sum(a,b,3));
        System.out.println("result:"+sum(a,b,3,3.12).floatValue());
        
        /**
         * result:3.0
         * result:6.0
         * result:9.12
         */
        
    }
    
    //求未知个数的总和
    public static Number sum(Number... a){
        Integer  sumI=0;
        Float  sumF=0f;
        Double  sumD=0D;
        for(int i=0;i<a.length;i++){
            if(a[i].getClass()==Integer.class||a[i].getClass()==Integer.TYPE){
                sumI+=(Integer)a[i];
            }else if(a[i].getClass()==Float.class||a[i].getClass()==Float.TYPE){
                sumF+=(Float)a[i];
            }else if(a[i].getClass()==Double.class||a[i].getClass()==Double.TYPE){
                sumD+=(Double)a[i];
            }
        }
        return sumI+sumF+sumD;
    }
    
    

}
posted @ 2015-02-10 11:54  刘江龙  阅读(242)  评论(0编辑  收藏  举报