我不確定我在這裏使用的詞彙,如果我錯了,請糾正我。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