java 使用省略号 代替多个相同类型的参数 重载方法 Varargs

发现很多牛人写出来的工具类,都有 xxx(String... s){} 这样的方法,简单学了一下,下面是测试的代码,最简单的例子:

public class TestVarargs {

	public static void s(int[] vs) {
		System.out.println("s(int[] vs)");
		for(int i : vs) {
			System.out.println(i);
		}
		System.out.println("s(int[] vs)");
	}
	
//	public static void s(int... vs) { 编译错误,方法签名重复
	public static void t(int... vs) {
		System.out.println("t(int... vs)");
		for(int i : vs) {
			System.out.println(i);
		}
		System.out.println("t(int... vs)");
	}
	
	
	public static void main(String[] args) {
		int[] intArr = new int[2];
		intArr[0] = 0;
		intArr[1] = 1;
		s(intArr);//0 1
		t(intArr);//0 1
		
//		s(0, 1, 2);//编译错误
		t(0, 1, 2);//0 1 2
		
//		s();//编译错误
		t();// 没有实质内容输入
		
	}
}

 

你可能感兴趣的:(java源代码)