日期:2014-05-16  浏览次数:20441 次

JS 和java1.5可变参数
function test(str){
	for(var i = 0; i < arguments.length; i++){
		alert(arguments[i]);
	}
}

test("huangbiao",23,"未婚");

?在JS中,所有的参数都是存放在arguments这个数组中,这样可以是定义的方法更简单,也能得到更多的参数

?

public class Test1 {

	public static void main(String[] args) {
		outStr("huangbiao","dd","sd");
	}

	public static void outStr(String ...strings){
		System.out.println("可变参数的长度:" + strings.length );
		for(String s : strings){
			System.out.println(s);
		}
	}
}

?

public class Test2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum = 0;
		sum = sum("huangbiao");
		sum = sum("huangbiao2",1,2,3,4,5,6);
		System.out.println(sum);
	}

	private static int sum(String a,int ...nums){
		System.out.println("a : " + a);
		int sum = 0;
		for(int num : nums){
			sum += num;
		}
		return sum;
	}
}

JDK1.5新特性,可变参数
JDK不允许存在, 带可变参数的方法和带数组参数的方法在同一类中重载。
JDK不允许存在,带相同参数类型列表(Type List)的参数列表的方法在同一类中重载。
当可变参数方法与不带参数的方法重载时,JDK默认调用的是无参数的方法。若类中没有定义无参数的方法,则会调用可变参数的方法。
可变参数只能是最后一个参数