Java 可變引數

weixin_34357887發表於2017-08-22

概述

Java1.5增加了新特性:可變引數:適用於引數個數不確定,型別確定的情況,java把可變引數當做陣列處理(引數型別... 陣列名)。
注意:可變引數必須位於最後一項。當可變引數個數多餘一個時,必將有一個不是最後一項,所以只支援有一個可變引數。
因為引數個數不定,所以當其後邊還有相同型別引數時,java無法區分傳入的引數屬於前一個可變引數還是後邊的引數,所以只能讓可變引數位於最後一項。

可變引數的特點

  1. 只能出現在引數列表的最後
  2. ...位於變數型別和變數名之間,前後有無空格都可以
  3. 呼叫可變引數的方法時,編譯器為該可變引數隱含建立一個陣列,在方法體中一陣列的形式訪問可變引數

eg. 求和方法

    public class Varable {
        public static void main(String[] args) {
            System.out.println(add(2, 3));
            System.out.println(add(2, 3, 5));
        }

        public static int add(int x, int... args) {
            int sum = x;
            for (int i = 0; i < args.length; i++) {
                sum += args[i];
            }
            return sum;
        }
    }

相關文章