1. 程式人生 > >java新特性—foreach,可變引數

java新特性—foreach,可變引數

foreach

1.``在固定長度或長度不需要計算的時候for迴圈效率高於foreach。

2.``在不確定長度,或計算長度有效能損耗的時候,用foreach比較方便。

3.``並且foreach的時候會鎖定集合中的物件.期間不能修改。

可變引數

1、可變引數:
適用於引數個數不確定,型別確定的情況,java把可變引數當做陣列處理。

注意:

  • 可變引數必須位於最後一項。

  • 當可變引數個數多餘一個時,必將有一個不是最後一項,所以只支援有一個可變引數。

  • 因為引數個數不定,所以當其後邊還有相同型別引數時,java無法區分傳入的引數屬於前一個可變引數還是後邊的引數,所以只能讓可變引數位於最後一項。

2、可變引數的特點:

(1) 只能出現在引數列表的最後;

(2) 位於變數型別和變數名之間,前後有無空格都可以;

(3) 呼叫可變引數的方法時,編譯器為該可變引數隱含建立一個數組,在方法體中一陣列的形式訪問可變引數。

public class Test {
    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; } }

輸出的結果是:

//5
//10