2017-06-21 48 views
2

如果您嘗試執行15/2它將返回7,因爲它認爲152是整數。如果你做(double)15/2它將返回7.5,因爲它知道15是一個雙。使用數組而不聲明它在變量中

假設你有一個名爲test()的函數,它接受一個數組作爲參數。如何將數組傳遞給函數,而不是先定義它?

我試圖做這樣的事情:

test((int[]){1,2,3,4}) 

回答

4

你是八九不離十。你可以這樣說:

test(new int[]{1, 2, 3, 4}); 
2

我認爲你正在尋找一個variadic function(又名可變參數),像

public static double test(int... vals) { 
    return IntStream.of(vals).sum()/(double) vals.length; 
} 

可以與任意數量的int(S)被調用。例如,

System.out.println(test(1, 2, 3)); 

其輸出

2.0