如果您尝试15/2
,它会返回7
,因为它认为15
和2
是整数。如果您执行(double)15/2
,则会返回7.5
,因为它知道15
是双倍的。
假设您有一个名为test()
的函数,它接受一个数组作为参数。如何在不先定义数组的情况下将数组传递给函数?
我尝试过这样的事情:
test((int[]){1,2,3,4})
答案 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