彰化一整天的論壇

 找回密碼
 立即註冊
查看: 1649|回復: 3

參數列表

[複製鏈接]
發表於 2013-7-29 23:18:31 | 顯示全部樓層 |閱讀模式
本帖最後由 James 於 2013-7-29 23:36 編輯

    參數列表(Variable-Length Argrment Lists, 簡稱 Varargs), 也稱變數長度引數表如果我們無法確定呼叫方法會傳遞幾個參數,就無法明確定義這方法的參數個數,這時我們使用 Varargs 來解決參數個數不定的問題,而參數列表對於Java來說仍視為陣列.
範例:
  1. class Varargs01 // 定義一個類別取名為Varargs01{
  2.         void showOrder(String...names) // 此時的String...names 就是參數列表,names會被視為陣列. {
  3.                 System.out.print("Order set:"+"  "); // 我用Order ser來顯示我點了什麼餐點
  4.                 for(String Order:names) // 使用for-each迴圈自動走訪所有元素,這裡我們指定陣列names.
  5.                         System.out.print(Order+" ");
  6.                 System.out.println(); }
  7.         public static void main(String args[]){
  8.                 Varargs01 var = new Varargs01();// 建立一個物件給var
複製代碼
  1.                 var.showOrder("Hamburger","Sandwich","Tuna Cheese");
  2. /*此3個字串會自動包裝成陣列後再傳遞給(String...names)的names變數形成
  3. String names[] ={"Hamburger","Sandwich","Tuna Cheese"};*/
  4.                var.showOrder("Soda","Juice");//觀念同上}
  5. }
複製代碼
輸出結果Order set: Hamburger  Sandwich  Tuna Cheese
              Order set: Soda   Juice


使用參數列表有3個限制請注意:
1.   在同一個類別內不可同時出現,因為相同類型的參數列表和陣列參數意義相同
2.  參數列表須放在所有參數的最後面如 : void showOrder(String str, String...names)
3.  1個方法只能使用1次參數列表,原因和第2點相同,編譯器會不知如何切割傳遞過來的值.
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2019-8-22 03:58 , Processed in 0.114888 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表