Java方法的可变参数类型个数,可变参数方法怎么写?
微wx笑
2022-06-20【编程语言】
85
2
0关键字:
java 可变参数
许多Java新人在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊?这就是今天这篇blog的主角:可变的参数类型,也称为不定参数类型。
1 2 3 4 5 6 7 8 9 | public class TestVarArgus { public static void dealArray( int ... intArray){ } public static void main(String args[]){ } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class TestVarArgus { public static void dealArray( int ... intArray){ for ( int i : intArray) System.out.print(i + " " ); System.out.println(); } public static void main(String args[]){ dealArray(); dealArray( 1 ); dealArray( 1 , 2 , 3 ); } } |
1
1 2 3
dealArray(); //dealArray(int[] intArray{});
dealArray(1); //dealArray(int[] intArray{1});
dealArray(1, 2, 3); //dealArray(int[] intArray{1, 2, 3});
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class TestVarArgus { public static void dealArray( int ... intArray){ for ( int i : intArray) System.out.print(i + " " ); System.out.println(); } public static void dealArray( int [] intArray){ //会有Duplicate method dealArray(int[]) in type TestVarArgus的错误 for ( int i : intArray) System.out.print(i + " " ); System.out.println(); } public static void main(String args[]){ dealArray(); dealArray( 1 ); dealArray( 1 , 2 , 3 ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class TestVarArgus { public static void dealArray( int ... intArray){ for ( int i : intArray) System.out.print(i + " " ); System.out.println(); } public static void main(String args[]){ int [] intArray = { 1 , 2 , 3 }; dealArray(intArray); //通过编译,正常运行 } } |
1 2 3 4 5 6 7 8 9 10 11 12 | public class TestVarArgus { public static void dealArray( int [] intArray){ for ( int i : intArray) System.out.print(i + " " ); System.out.println(); } public static void main(String args[]){ dealArray( 1 , 2 , 3 ); //编译错误 } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class TestVarArgus { public static void dealArray( int count, int ... intArray){ } public static void dealArray( int ... intArray, int count){ //编译报错,可变参数类型应该作为参数列表的最后一项 } public static void main(String args[]){ } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class TestVarArgus { public static void dealArray( int ... intArray){ System.out.println( "1" ); } public static void dealArray( int count, int count2){ System.out.println( "2" ); } public static void main(String args[]){ dealArray( 1 , 2 ); } } |
本文为转载文章,版权归原作者所有,不代表本站立场和观点。