1. 程式人生 > >java 使用省略號 代替多個相同型別的引數 過載方法 Varargs

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();// 沒有實質內容輸入
		
	}
}