JDK5.0新特性--可变参数

/**

 * 可变参数

 */

public class VariableParamater {



	/**

	 * 统计2个或多个数的和

	 */

	public static void main(String[] args) {

		//计算2个数的和

		sum(10,15);

		

		/*

		 * 问题:如果要计算3个数、4个数、5个数或n个数的和,那我们不是要写n个相同的方法,传递n个参数进行累加?

		 *    注:在同一个类中有多个方法的名字相同,且参数列表不同(参数个数、参数类型),称之为方法重载(method overload)

		 * 解决方案:

		 * 由此类似的问题jdk5.0引入可变参数的新特性,语法格式:修饰符 返回值 方法名(参数数据类型 ...参数名){}

		 * jdk会将”...参数名“隐式的转换成一个数组,我们在方法中把该参数当作数组处理就可以达到计算n个数的和

		 */

		sum(10,15,20,30,40);



	}

	

	/**

	 * 统计2个数的和

	 * @param num1 第1个数 

	 * @param num2 第2个数

	 * @return 2个数的和

	 */

	private static int sum(int num1, int num2) {

		return num1 + num2;

	}

	

	/**

	 * 统计多个数的和

	 * @param nums 待统计的数组

	 * @return 统计后的和

	 */

	private static int sum(int ...nums) {

		int count = 0;

		for (int num : nums) {

			count += num;

		}

		return count;

	}



}


注意:可变参数,必须是方法参数列表中的最后一个。

你可能感兴趣的:(可变参数)