个人理解,如果作为参数的时候就是不定个数的String类型数组 String[]...array 相当于String[] a,String[] b,String[] c....String[] n
就是说你有一个字符串数组,换句话说你有一个数组那么多的字符串,在换句话说,那些字符串形成一个数组,在换一句,这是一个数组,有字符串组成,具体多少个字符串 就看你new多少个了 for example:- -!String[] a ; a = new String[10];//这个数组包含10个串 a[0] = new String("adfsf");//给第一个串new个内容 System.out.println(a[0]);//结果输出 sdfsf System.out.println(a[1]);//结果输出 null 理解否?
这只是java1.5以后的一个新特性叫做可变参数,就是参数不确定,传几个参数由你决定,不过这几个参数的类型必须一致!如 方法名(int ... a) 你可以 方法名(5,6,8) 参数任意它的内部其实就是用一个int[]来接收的.应该明白了吧
String[]...array 相当于String[] a,String[] b,String[] c....String[] n
for example:- -!String[] a ;
a = new String[10];//这个数组包含10个串
a[0] = new String("adfsf");//给第一个串new个内容
System.out.println(a[0]);//结果输出 sdfsf
System.out.println(a[1]);//结果输出 null
理解否?
在方法内,参数集体是作为数组处理的,比如array[0]引用第一个字符数组.
这样array实际是一个二维数组了.
String... args 不定个数的String类型参数
拓展下
String[]... args 不定个数的String数组参数
就LZ的问题,String[]就是一个字符串数组,元素就是字数类型
public class Parameter { public static void main(String[] args) {
String [] str1 = {"a", "b"};
String [] str2 = {"b", "c"};
String [] str3 = {"a", "a"};
test(str1, str2, str3);
String [] str4 = {"asd", "bada"};
String [] str5 = {"basdfsd", "asdfsdc"};
test(str4, str5);
}
public static void test(String[] ... args) {
System.out.println(args.getClass());
String[][] obj = args;
for (String[] s:obj) {
for(String s1 : s) {
System.out.print(s1+" ");
}
System.out.println();
}
}}