您好,欢迎访问一九零五行业门户网

Java中可变参数的实例详解

大家都知道main方法的参数就是一个数组类型的,那么它其实也是可以改成不定参数类型。我试了试,并调用了一些弹出来的方法。
public class classc2 {public static void main(string...args) {                  system.out.println(args.getclass()); //exception in thread main class [ljava.lang.string;system.out.println(======分割线1=====);                  system.out.println(args.hashcode()); //4126736system.out.println(======分割线2=====);                  system.out.println(args.tostring());         system.out.println(======分割线3=====); //[ljava.lang.string;@3ef810                 system.out.println(args.length); //0system.out.println(======分割线4=====);                  args.notify(); //java.lang.illegalmonitorstateexception    } }
嗯,我把sting后面的“[ ]”换成了三个点(...),这三个点代表java中的可变数组参数。可变的参数类型(variable argument type),也称为不定参数类型。英文缩写是varargus。也就是说,这个方法在接收参数的时候,个数是不定的。
public class classc {public static void main(string[] args) {         string[] array = { java, php, c# };//传数组test(array);//调用    }static void test(string... a) { //利用可变参数的栗子system.out.println(a);// 打印:[ljava.lang.string;@da6bf4system.out.println(a.length);//3for (int i = 0; i < a.length; i++) { // for遍历system.out.print(a[i]+\t);//方便记录,我用了让它一行输出的效果:java    php    c#        }     } }
//不像上面那样调用也可以,下面再演示几种调用方法public class classc {public static void main(string[] args) {     test();//没有赋值,直接调用    }static void test(string... a) {  //利用可变参数的栗子system.out.println(a);// 打印:[ljava.lang.string;@1e58cb8system.out.println(a.length);//0for(string s:a){  //复习一下增强for            system.out.println(s);         }     } }
//不像上面那样调用也可以,下面再演示几种调用方法public class classc {public static void main(string[] args) {        // new一个空数组test(new string[0]);     }static void test(string... a) { // 利用可变参数的栗子system.out.println(a);// 打印:[ljava.lang.string;@1e58cb8system.out.println(a.length);//0for (string s : a) { // 复习一下增强for            system.out.println(s);         }     } }
//不像上面那样调用也可以,下面再演示几种调用方法public class classc {public static void main(string[] args) {                  test(new string[]{张三,李四,王五});     }static void test(string... a) { // 利用可变参数的栗子system.out.println(a);// 打印:[ljava.lang.string;@b9e45asystem.out.println(a.length);//3for (string s : a) { // 复习一下增强forsystem.out.print(s+\t);//张三    李四    王五            }     } }
由此可见,将参数定义为可变参数,有一下两个有点:
1.不必担心将来在调用的时候,去迎合之前定义的参数;
2.没想出来
(我只想这些,欢迎补充)
以上就是java中可变参数的实例详解的详细内容。
其它类似信息

推荐信息