使用数组而不在变量中声明它

时间:2017-06-21 03:43:02

标签: java arrays

如果您尝试15/2,它会返回7,因为它认为152是整数。如果您执行(double)15/2,则会返回7.5,因为它知道15是双倍的。

假设您有一个名为test()的函数,它接受一个数组作为参数。如何在不先定义数组的情况下将数组传递给函数?

我尝试过这样的事情:

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

2 个答案:

答案 0 :(得分:4)

你非常接近。你可以这样做:

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

答案 1 :(得分:2)

我认为你正在寻找variadic function(又名varargs),类似于

public static double test(int... vals) {
    return IntStream.of(vals).sum() / (double) vals.length;
}
可以使用任意数量的int调用

。例如,

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

哪个输出

2.0