首頁  >  文章  >  Java  >  Java中可變參數的實例詳解

Java中可變參數的實例詳解

零下一度
零下一度原創
2017-07-03 09:55:171753瀏覽

大家都知道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中可變參數的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn