可变参数的方法:不知道这个方法该定义多少个参数
注意:
》 参数实际上是数组
》 必须写在参数列表最后一个
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; } }