我不确定我在这里使用的词汇,如果我错了,请纠正我。Java传播运算符
在Javascript中,我有以下代码:
let args = [1,2,3];
function doSomething (a, b, c) {
return a + b + c;
}
doSomething(...args);
正如你所看到的,在调用的时候doSomething
,我能够使用...
传播经营者,以“改造”我的论点为1, 2, 3
。
现在,我试图用Java来做同样的事情。
比方说,我有一个Foo
类:
public class Foo {
public int doSomething (int a, int b, int c) {
return a + b + c;
}
}
,现在我想打电话给doSomething
:
int[] args = {1, 2, 3};
我想使用类似doSomething (...args)
而不是调用doSomething(args[0], args[1], args[2])
。
我看到这在函数声明中是可能的,但我不想改变这样的函数的实现。
不能这样做。抱歉。 –
这在Java中是不可能的。你可以有另一个需要4个整数参数的方法。在编译时你不会知道要调用哪一个,因为它取决于只在运行时知道的列表长度。 – Henry
真的。 Java语法不提供这样的机制。为什么要打扰它? [XY问题?](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)最后,这个问题没有用。 – Seelenvirtuose