Java8中方法的可變長度引數
阿新 • • 發佈:2018-12-04
從java5開始就加入了可變長度引數。
void add(int ...i) {
for(int x:i) {
System.out.print(x + ",");
}
System.out.println();
}
用“...”來表示可變長度引數,在可變長度引數前,可以有普通的常規引數,但可變長度引數必須放在方法的最後。
void add(String str,boolean bl,int ...i) { for(int x:i) { System.out.print(x + ","); } System.out.println(); }
一個方法中,只能有一個可變長度引數,呼叫方法時,可變長度引數可以為空,下面的程式碼呼叫上面的方法,依然可以正確執行。
@Test
void test() {
add();
}
可變長度引數方法可以過載,也能在過載里加入普通的常規引數。
void add(int ...i) { for(int x:i) { System.out.print(x + ","); } System.out.println(); } void add(String str,boolean ...i) { for(boolean x:i) { System.out.print(x + ","); } System.out.println(); }
如果在過載中有幾個不同型別的可變長度引數,將無法執行可變長度引數為空的,按照以下程式碼執行上面的程式碼將會報錯Error:Ambiguous!
@Test
void test() {
add(1,2);
add(true,true,false);
add();
}