publicclassMain{staticvoidvaTest(int... no){System.out.print("vaTest(int ...): "+"Number of args: "+ no.length +" Contents: ");for(int n : no)System.out.print(n +" ");System.out.println();}staticvoidvaTest(boolean... bl){System.out.print("vaTest(boolean ...) "+"Number of args: "+ bl.length +" Contents: ");for(boolean b : bl)System.out.print(b +" ");System.out.println();}staticvoidvaTest(String msg,int... no){System.out.print("vaTest(String, int ...): "+ msg +"no. of arguments: "+ no.length +" Contents: ");for(int n : no)System.out.print(n +" ");System.out.println();}publicstaticvoidmain(String args[]){vaTest(1,2,3);vaTest("Testing: ",10,20);vaTest(true,false,false);}}
结果
上面的代码示例将产生以下结果。
vaTest(int...):Number of args:3Contents:123vaTest(String,int...):Testing: no. of arguments:2Contents:1020vaTest(boolean...)Number of args:3Contents:truefalsefalse
以下是具有方法重载的可变参数的另一个示例示例。
publicclassVararg{staticvoidvararg(Integer... x){System.out.println("Integer...");}staticvoidvararg(String... x){System.out.println("String...");}publicstaticvoidmain(String[] args){int s =0;vararg(s,s);}}