天天看點

Java中的可變參數

今天剛學習了Java中的可變參數,感覺可變參數就是數組的另一種形式,但是卻比數組使用更廣。

先來看一下小例子:

package com.study.write;public class VariableElement {

public static double max(double...values) {

double largest = Double.MIN_NORMAL;

for(double v:values)

if(v > largest)

largest = v;

return largest;

}

/*public static double max(double[] values) {

for(double v : values)

if(v > largest)

}*/

public static void main(String[] args) {

System.out.println(max(1.0, 2.0, 5.0));

}

運作結果:5.0

max函數的參數中double...相當于double[],但是可以使用max(1.0, 2.0, 3.0);

但是我們使用數組的話便會出現編譯錯誤:

<pre name="code">package com.study.write;public class VariableElement {

/*public static double max(double...values) {

public static double max(double[] values) {

程式會在System.out.println(max(1.0, 2.0, 5.0))這行提示錯誤,因為沒有定義max(int x, int y, int z)型的函數,由此可見可變參數是非常友善的。

注意:在多項參數的函數中,可變參數隻能位于函數參數的最後一項。